Как мне представить аргументы конструктора Scala в качестве открытых членов?

Посмотрите на этот пример:

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
  }
}

Как видите, я хочу определить+ операторный метод на классе Point. Но это не сработает, потому что в этом методеx а такжеy не могут быть доступны наsourcePoint локальная переменная, так как они являются частными, поэтому я изменил пример на это:

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)
  }
}

Это, очевидно, сработало, однако есть более простой способ определить эти переменные вместо перехода от _x -> x и _y -> y.

Спасибо за помощь и время! :)

Ответы на вопрос(2)

Ваш ответ на вопрос