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ē.