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