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

protected при наследовании в Kotlin

Модификатор protected открывает член родителя для кода внутри самого класса и его наследников. Снаружи по-прежнему нельзя обратиться к полю напрямую:

open class User { protected var name: String = "" open fun setName(name: String) { this.name = name } fun getName(): String { return this.name } }

В Employee переопределённый сеттер может писать в name родителя:

class Employee : User() { override fun setName(name: String) { if (name.isNotEmpty()) { this.name = name } } }

Защищённый метод родителя виден в потомке:

open class User { protected fun notEmpty(str: String): Boolean { return str.isNotEmpty() } } class Employee : User() { fun setSurn(surn: String) { if (notEmpty(surn)) { // save surn } } }

Перепишите следующий код через защищенное свойство: сделайте поле name в классе User с модификатором protected и исправьте метод setName в классе Employee.

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