Автоматический геттер и сеттер Scala перезапись с помощью custom =
В scala нет никакой разницы для пользователя класса между вызовом метода или доступом к некоторому полю/члену непосредственно с помощью val x = myclass.свойство myProperty. Чтобы иметь возможность управлять, например, установкой или получением поля, scala позволяет переопределить метод_=. Но действительно ли это метод? Я в замешательстве.
Возьмем следующий код:
class Car(var miles: Int)
var myCar = new Car(10)
println(myCar.miles) //prints 10
myCar.miles = 50
println(myCar.miles) //prints 50
То же самое относится и к этому коду (обратите внимание на двойное пространство в myCar.miles = 50
):
class Car(var miles: Int)
var myCar = new Car(10)
println(myCar.miles) //prints 10
myCar.miles = 50
println(myCar.miles) //still prints 50
Теперь я хочу изменить способ, как miles
можно установить или прочитать, например, всегда печатать что-то на экране. Как я могу сделать это так, чтобы пользователи моего класса не пострадали, а также чтобы не было никакой разницы, если пробелы используются перед знаком=?