Junior
Rääkige mulle Kotlinis pärimisest.
sobes.tech AI
Vastus AI-lt
Kotlin päriluse mehhanism on mehhanism, mis võimaldab luua uusi klasse olemasolevate põhjal. Uus klass (lapsed või pärandatud) pärib omadused (muutujad) ja meetodid (funktsioonid) vanemklassist (põhjalik klass). See soodustab koodi taaskasutust ja klasside hierarhia loomist.
Peamised omadused:
- Vaikimisi avatus puudub: Kotlinis on klassid ja meetodid vaikimisi
final, see tähendab, et neid ei saa pärida ega üle kirjutada. Pärimise lubamiseks tuleb need selgelt märkida sõnagaopen. - Konstruktorid: Lapse klass peab kutsuma ühte vanemklassi konstruktoritest (kui neid on mitu, interfeiside puhul). Seda tehakse lapse klassi deklaratsioonis
(...)kasutades. - Meetodite ja omaduste ülekirjutamine: Vanemklassi meetodi või omaduse ülekirjutamiseks tuleb need märkida
openvanemklassis jaoverridelapse klassis. super: Sõnasuperkasutatakse vanemklassi liikmetele juurdepääsuks lapse klassist.- Ühekordne pärimine: Kotlin toetab ühekordset pärimist (ühe klassi kaudu), kuid mitmekordset liideste pärimist.
Näide põhiklassist:
// Põhiklass
open class Animal(val name: String) {
open fun makeSound() {
println("$name teeb häält")
}
}
Näide lapseklassist:
// Lapseklass
class Dog(name: String) : Animal(name) {
override fun makeSound() {
println("$name haukab")
}
}
Kasutamine:
// Objektide kasutamine
fun main() {
val animal = Animal("Üldine loom")
animal.makeSound() // Väljund: Üldine loom teeb häält
val dog = Dog("Barkis")
dog.makeSound() // Väljund: Barkis haukab
}