Junior
Vorbește despre moștenire în Kotlin.
sobes.tech AI
Răspuns de la AI
Moștenirea în Kotlin este un mecanism care permite crearea de noi clase pe baza celor existente. Clasa nouă (derivată sau copil) moștenește proprietățile (variabilele) și metodele (funcțiile) clasei părinte (de bază). Acest lucru promovează reutilizarea codului și crearea de ierarhii de clase.
Caracteristici cheie:
- Nu este deschisă implicit: În Kotlin, clasele și metodele sunt
finalimplicit, ceea ce înseamnă că nu pot fi moștenite sau suprascrise. Pentru a permite moștenirea, trebuie marcate explicit cu cuvântul cheieopen. - Constructori: Clasa derivată trebuie să apeleze constructorul uneia dintre clasele de bază (dacă sunt mai multe, în cazul interfețelor). Apelul se face la declararea clasei derivate folosind
(...). - Suprascrierea metodelor și proprietăților: Pentru a suprascrie o metodă sau proprietate a clasei de bază în clasa derivată, acestea trebuie marcate cu
openîn clasa de bază șioverrideîn clasa derivată. super: Cuvântul cheiesupereste folosit pentru a accesa membrii clasei de bază din clasa derivată.- Moștenire simplă de implementare: Kotlin suportă moștenirea simplă de implementare (de la o singură clasă), dar suportă moștenirea multiplă de interfețe.
Exemplu de clasă de bază:
// Clasă de bază
open class Animal(val name: String) {
open fun makeSound() {
println("$name face un sunet")
}
}
Exemplu de clasă derivată:
// Clasă derivată
class Dog(name: String) : Animal(name) {
override fun makeSound() {
println("$name latră")
}
}
Utilizare:
// Utilizarea obiectelor
fun main() {
val animal = Animal("Animal generic")
animal.makeSound() // Ieșire: Animal generic face un sunet
val dog = Dog("Bobby")
dog.makeSound() // Ieșire: Bobby latră
}