Я хочу объявить некоторый тип переменной для модели gatter и setter.

Могу ли я объявить в простой и чистый код, как в Java?

private String firstName;

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

Потому что при конвертации в Kotlin это выглядит так:

private var firstName: String? = null

fun getfirstName(): String {
    return firstName
}

fun setfirstName(firstName: String) {
    this.firstName = firstName
}

Какой правильный и самый чистый путь?

0
Jigar Patel 10 Июл 2017 в 14:06
Вы вообще хотите знать, как определяются вары, или только для этого случая?
 – 
guenhter
10 Июл 2017 в 14:41

2 ответа

Самый чистый способ - просто определить его как свойство в котлине, если вы этого не сделаете дополнительная работа над геттером / сеттером . Например:

var firstName: String? = null
5
holi-java 10 Июл 2017 в 14:15
1
firstName должно быть общедоступным.
 – 
Naetmul
10 Июл 2017 в 14:14
Ага. Я просто копирую код OP. и забудьте изменить модификатор видимости. Спасибо большое.
 – 
holi-java
10 Июл 2017 в 14:15

Попробуйте следовать

Synetx:

 var <propertyName>[: <PropertyType>] [= <property_initializer>]
        [<getter>]
        [<setter>]

Примеры:

var allByDefault: Int? // error: explicit initializer required, default getter and setter implied
var initialized = 1 // has type Int, default getter and setter

Полный синтаксис объявления свойства только для чтения отличается от изменяемого по двум причинам: он начинается с val вместо var и не допускает установщика:

val simple: Int? // has type Int, default getter, must be initialized in constructor
val inferredType = 1 // has type Int and a default getter
0
Mehul Kabaria 12 Июл 2017 в 13:55