Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpIhOP 37 of 123 menu
◀ ▶

Открытые свойства при наследовании в Kotlin

Свойство родителя по умолчанию нельзя переопределить. Чтобы потомок мог задать своё значение, свойство помечают open, в потомке - override:

open class User { open val role: String = "user" } class Employee : User() { override val role: String = "employee" }

У объекта потомка читается переопределённое свойство:

fun main() { val employee = Employee() println(employee.role) }

Тот же приём работает для вычисляемого свойства с геттером:

open class User { open val label: String get() = "User" } class Employee : User() { override val label: String get() = "Employee" }

В классе User объявите открытое свойство department со значением 'general'.

В классе Employee переопределите это свойство и задайте ему значение 'staff'.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить