Junior — Middle
Come si può modificare o integrare il comportamento dei metodi nell'ereditarietà di una classe base in Kotlin?
sobes.tech AI
Risposta dell'AI
In Kotlin, per modificare o aggiungere comportamento ai metodi della classe base durante l'ereditarietà si utilizza la parola chiave override. Il metodo nella classe base deve essere dichiarato con il modificatore open affinché possa essere sovrascritto in una sottoclasse.
Esempio:
open class Base {
open fun greet() {
println("Ciao da Base")
}
}
class Derived : Base() {
override fun greet() {
super.greet() // chiamata al metodo della classe base
println("Ciao da Derived")
}
}
fun main() {
val obj = Derived()
obj.greet()
}
In questo esempio, il metodo greet della classe Base viene sovrascritto nella classe Derived, chiamando l'implementazione originale tramite super.greet(), e poi aggiungendo comportamento supplementare.
Pertanto, per modificare o aggiungere comportamento a un metodo:
- Nella classe base, il metodo deve essere
open. - Nella sottoclasse, il metodo viene contrassegnato con
override. - È possibile chiamare il metodo originale tramite
superper completare, non sostituire, il comportamento.