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