Sobes.tech
Junior — Middle

Hogyan lehet módosítani vagy kiegészíteni a módszerek viselkedését az alap osztály öröklésekor Kotlinban?

sobes.tech MI

Válasz az MI-től

Kotlinban a override kulcsszót használják az alap osztály metódusainak viselkedésének módosítására vagy kiegészítésére öröklés során. Az alap osztályban a metódusnak open módosítóval kell lennie, hogy felülírható legyen az alosztályban.

Példa:

open class Base {
    open fun greet() {
        println("Helló a Base-ből")
    }
}

class Derived : Base() {
    override fun greet() {
        super.greet()  // az alap osztály metódusának hívása
        println("Helló a Derived-ből")
    }
}

fun main() {
    val obj = Derived()
    obj.greet()
}

Ebben a példában a Base osztály greet metódusa felülíródik a Derived osztályban, az eredeti implementációt a super.greet() hívásával hívják meg, majd további viselkedést adnak hozzá.

A metódus viselkedésének módosításához vagy kiegészítéséhez:

  • A bázisosztályban a metódus open kell legyen.
  • Az alosztályban a metódus override-ként van megjelölve.
  • Az eredeti metódus a super-on keresztül hívható, hogy kiegészítse, ne helyettesítse a viselkedést.