Junior — Middle
Kuidas saab muuta või täiendada meetodite käitumist põhiklassist pärandamisel Kotlinis?
sobes.tech AI
Vastus AI-lt
Kotlinis, metožu uzvedības maiņai vai papildināšanai pamata klases mantošanas laikā, tiek izmantota 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.