Sobes.tech
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 да би се допунио, а не заменити.