Back to questions
Junior — Middle
81
Можно ли применять модификатор open к данным классам в Kotlin?
Companies where asked
Магнит Тех
Answer from AI
sobes.tech AI
В Kotlin по умолчанию все классы final (не могут быть унаследованы). Модификатор open позволяет сделать класс наследуемым.
Можно применять модификатор open к любым классам, кроме тех, которые объявлены с модификаторами sealed, data, enum или abstract (у abstract классов наследование уже разрешено, поэтому open не нужен).
Пример:
open class Animal {
open fun sound() = println("Some sound")
}
class Dog : Animal() {
override fun sound() = println("Bark")
}
Здесь open позволяет классам и методам быть переопределёнными.