Назад к вопросам
Junior — Middle
67
Можете объяснить концепцию наследования в языке Kotlin и ее основные особенности?
Ответ от нейросети
sobes.tech AI
В Kotlin наследование позволяет создавать новый класс на основе существующего, наследуя его свойства и методы. По умолчанию все классы в Kotlin закрыты для наследования (final), чтобы разрешить наследование, класс нужно объявить с модификатором open.
Основные особенности наследования в Kotlin:
- Класс-предок должен быть объявлен с
openилиabstract. - Производный класс использует ключевое слово
:для указания базового класса. - Конструкторы базового класса вызываются из производного.
- Методы и свойства, которые можно переопределять, тоже должны быть помечены
open. - Для переопределения используется ключевое слово
override.
Пример:
open class Animal(val name: String) {
open fun sound() {
println("Some generic animal sound")
}
}
class Dog(name: String) : Animal(name) {
override fun sound() {
println("Woof!")
}
}
fun main() {
val dog = Dog("Buddy")
dog.sound() // Выведет: Woof!
}