Junior
Pastāstiet man par manto funkciju Kotlin.
sobes.tech AI
Atbilde no AI
Kotlin manto mehānisms ir mehānisms, kas ļauj izveidot jaunas klases, pamatojoties uz esošajām. Jauna klase (bērns vai ražots) manto īpašības (mainīgos) un metodes (funkcijas) no vecāka (pamat) klases. Tas veicina koda atkārtotu izmantošanu un klases hierarhiju veidošanu.
Galvenās īpašības:
- Noklusējuma atvērums nav: Kotlin valodā klases un metodes pēc noklusējuma ir
final, tas ir, to mantošana vai pārrakstīšana nav atļauta. Lai atļautu mantošanu, tos skaidri jānorāda ar vārduopen. - Konstruktori: Bērna klasei jāizsauc viens no vecāku klases konstruktoriem (ja ir vairāki, interfeisos). Tas tiek darīts, deklarējot bērna klasi ar
(...). - Metodes un īpašības pārrakstīšana: Lai pārrakstītu vecāka klases metodi vai īpašību, tās jānorāda ar
openvecāka klasē unoverridebērna klasē. super: Vārdssupertiek izmantots, lai piekļūtu vecāka klases locekļiem no bērna klases.- Vienreizēja mantošana: Kotlin atbalsta vienreizēju mantošanu (no viena klases), bet daudzreizēju interfeisu mantošanu.
Piemērs pamatklase:
// Pamatklase
open class Animal(val name: String) {
open fun makeSound() {
println("$name skan")
}
}
Piemērs bērna klases:
// Bērna klase
class Dog(name: String) : Animal(name) {
override fun makeSound() {
println("$name rej")
}
}
Izmantošana:
// Objektu izmantošana
fun main() {
val animal = Animal("Vispārīgs dzīvnieks")
animal.makeSound() // Izvade: Vispārīgs dzīvnieks skan
val dog = Dog("Barkis")
dog.makeSound() // Izvade: Barkis rej
}