Есть ли способ Kotlin-esque назначить забавные параметры классу? - PullRequest
0 голосов
/ 18 сентября 2018

Мне действительно нравится, как Kotlin оборачивает конструкторы с помощью MyClass(val myValue:Double), чтобы избежать всех лишних назначений конструкторов.

Есть ли подобный способ ярлыков в вызове функции в классе?Нечто, связывающее

fun updateLocations(newX: Double, newY: Double) {
    x = newX
    y = newY

в

fun updateLocations(magicupdate x, magicupdate y) {
    // internal x and y are already updated...

1 Ответ

0 голосов
/ 18 сентября 2018

Нет , такого способа для функций не существует.Вы должны явно назначить значения свойствам класса.

MyClass(val myValue:Double)

это конструктор, и компилятор понимает, что мы присваиваем свойства классу.

В то время как функции могут не всегда иметь побочный эффект.

Члены класса должны представлять состояние объекта класса.Они не являются временными местоположениями для параметров метода (вот для чего предназначены параметры метода) .

Посмотрите следующие ссылки для побочных эффектов и чистых функций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...