我想使用在类中定义的相同变量,并将其传递给函数。
对于下面的示例,我已经分别使用了它们。
我是Scala的新手,正在学习Scala中的类,对象和函数。
class Mynewclass(var rcx: Int, var rcy: Int) {
var x = rcx
var y = rcy
def fn(fx: Int, fy: Int): Unit = {
x = x + fx
y = y + fy
println(x,y)
}
}
object ClassObject_learn {
def main (args: Array[String]): Unit = {
val p1 = new Mynewclass(5,6)
val p2 = new Mynewclass(6,7)
new Mynewclass(5,6).fn(2,3)
}
}
答案 0 :(得分:2)
我不确定我是否正确理解你。如果要在方法中使用rcx,rcy vars,为什么不能简单地这样做呢?
class Mynewclass(var rcx:Int, var rcy:Int) {
def fn(fx:Int, fy:Int) ={
rcx = rcx + fx
rcy = rcy + fy
println(rcy,rcy)
}
}
答案 1 :(得分:0)
如何在外部函数中修改类变量的示例。
class Point(var x: Int, var y: Int) {
override def toString: String = s"($x, $y)"
}
object Main {
def fn(point: Point, fx: Int, fy: Int): Unit = {
point.x += fx
point.y += fy
}
def main (args: Array[String]): Unit = {
val p1 = new Point(5,6)
println(s"p1 = $p1")
val p2 = new Point(6,7)
println(s"p2 = $p2")
fn(p1, 3, 5)
println(s"p1 = $p1")
println(s"p2 = $p2")
}
}