Junior — Middle
Как може да се промени или допълни поведението на методите при наследяване на базов клас в Kotlin?
sobes.tech AI
Отговор от AI
В Kotlin за промяна или добавяне на поведение на методите на базовия клас при наследяване се използва ключовата дума override. Методът в базовия клас трябва да бъде обявен с модификатора open, за да може да бъде презаписан в подклас.
Пример:
open class Base {
open fun greet() {
println("Здравей от Base")
}
}
class Derived : Base() {
override fun greet() {
super.greet() // извикване на метода на базовия клас
println("Здравей от Derived")
}
}
fun main() {
val obj = Derived()
obj.greet()
}
В този пример, методът greet на базовия клас Base се презаписва в класа Derived, като се извиква оригиналната реализация чрез super.greet(), а след това се добавя допълнително поведение.
За да промените или добавите поведение към метод:
- В базовия клас методът трябва да бъде
open. - В подкласът методът се маркира с
override. - Оригиналният метод може да бъде извикан чрез
super, за да се допълни, а не да се замени поведението.