Como expor os argumentos do construtor Scala como membros públicos?
Veja este exemplo:
class Point(x: Double, y: Double){
override def toString = "x: " + x + ", y: " + y
def +(sourcePoint: Point) : Point = {
return new Point(x + sourcePoint.x, y + sourcePoint.y
}
}
Como você pode ver, quero definir um+
operador na classe Point. Mas isso não vai funcionar porque nesse método,x
ey
não pode ser acessado nosourcePoint
variável local por serem particulares, então mudei o exemplo para este:
class Point(_x: Double, _y: Double){
var x = _x
var y = _y
override def toString = "x: " + x + ", y: " + y
def +(sourcePoint: Point) : Point = {
return new Point(x + sourcePoint.x, y + sourcePoint.y)
}
}
Isso obviamente funcionou, no entanto, existe uma maneira mais fácil de definir essas variáveis em vez de ir de _x -> x e _y ->
Obrigado pela ajuda e pelo tempo! :)