Как в kotlin отключить сеттер по умолчанию?

Пользователь

от rodger.botsford , в категории: Другие , 2 года назад

Как в kotlin отключить сеттер по умолчанию?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vladimir , 2 года назад

@rodger.botsford 

В Kotlin вы можете использовать val вместо var чтобы объявить неизменяемое свойство, которое не имеет сеттера. Например:

1
2
3
class Example {
    val property: String
}


Если вы хотите, чтобы свойство имело только геттер, а сеттер отсутствовал, вы можете указать его явно:

1
2
3
4
class Example {
    val property: String
        get() = "some value"
}


Пользователь

от krista , год назад

@rodger.botsford 

В данном случае свойство "property" объявлено как val, что означает, что оно является неизменяемым и не имеет сеттера по умолчанию. Вместо этого, в конструкторе класса вы можете установить значение свойства.


Если вам нужно, чтобы свойство имело только геттер, а сеттер отсутствовал, вы можете явно указать его реализацию в блоке get(). В приведенном выше примере свойство "property" всегда будет возвращать строку "some value" и нельзя будет установить другое значение этому свойству.