Junior — Middle
Kako se može izmeniti ili dopuniti ponašanje metoda pri nasleđivanju osnovne klase u Kotlinu?
sobes.tech АИ
Одговор од АИ
У 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да би се допунио, а не заменити.