Sobes.tech
Junior — Middle

Vai Kotlinā ir iespējams mainīt mantojamās klases metodes īstenojumu, nemainot tās avota kodu bāzes klasē?

sobes.tech AI

Atbilde no AI

Jā, Kotlin iespējams mainīt metodes realizāciju mantojošajā klasē bez pamata klases koda izmaiņām, izmantojot override mehānismu. Tam, metodei pamata klasē jābūt deklarētai ar modifikatoru open.

Piemērs:

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

class Derived : Base() {
    override fun greet() {
        println("Sveiki no Derived")
    }
}

fun main() {
    val obj: Base = Derived()
    obj.greet() // Izvadīs: Sveiki no Derived
}

Šādā veidā, nemainot pamata klasi, ir iespējams mainīt metodes uzvedību mantojošajā klasē.