Sobes.tech
Junior — Middle

Kā var mainīt vai papildināt metožu uzvedību, mantojot pamata klasi Kotlinā?

sobes.tech AI

Atbilde no AI

Kotlin valodā, lai mainītu vai papildinātu pamata klases metožu uzvedību mantošanas laikā, tiek izmantots atslēgas vārds override. Metode pamata klasē jābūt deklarētai ar modifikatoru open, lai to varētu pārrakstīt apakšklasē.

Piemērs:

open class Base {
    open fun greet() {
        println("Sveiki no Base")
    }
}

class Derived : Base() {
    override fun greet() {
        super.greet()  // pamata klases metode tiek izsaukta
        println("Sveiki no Derived")
    }
}

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

Šajā piemērā, Base klases greet metode tiek pārrakstīta Derived klasē, izsaucot oriģinālo realizāciju ar super.greet(), un pēc tam pievienojot papildu uzvedību.

Lai mainītu vai papildinātu metodes uzvedību:

  • Pamata klasē metode jābūt open.
  • Apakšklasē metode tiek marķēta ar override.
  • Oriģinālo metodi var izsaukt ar super, lai to papildinātu, nevis aizstātu.