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

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

Класс без open уже нельзя унаследовать - это поведение по умолчанию. Явно запрет записывают словом final перед class:

final class Config // class ExtendedConfig : Config() // ошибка

В открытом классе отдельный метод можно закрыть для переопределения. Такой метод помечают final (это значение по умолчанию для методов без open):

open class User { fun getId(): String { return "user-1" } open fun setName(name: String) { // ... } } class Employee : User() { // override fun getId() // ошибка: метод final }

Открытый метод можно явно закрыть для переопределения:

open class User { open fun setName(name: String) { // ... } final fun getVersion(): Int { return 1 } }

Объявите класс AppSettings с модификатором final.

Попробуйте объявить класс-наследник от класса AppSettings и убедитесь, что код не компилируется.

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