Junior
Parlez-moi de l'héritage en Kotlin.
sobes.tech IA
Réponse de l'IA
L'héritage en Kotlin est un mécanisme permettant de créer de nouvelles classes basées sur des classes existantes. La nouvelle classe (fille ou dérivée) hérite des propriétés (variables) et des méthodes (fonctions) de la classe parente (de base). Cela favorise la réutilisation du code et la création de hiérarchies de classes.
Caractéristiques clés :
- Par défaut, non ouvert : En Kotlin, les classes et méthodes sont
finalpar défaut, ce qui signifie qu'elles ne peuvent pas être héritées ou redéfinies. Pour permettre l'héritage, elles doivent être explicitement marquées avec le mot-cléopen. - Constructeurs : La classe fille doit appeler le constructeur d'une des classes de base (si plusieurs, dans le cas des interfaces). L'appel se fait lors de la déclaration de la classe fille en utilisant
(...). - Redéfinition de méthodes et propriétés : Pour redéfinir une méthode ou propriété de la classe de base dans la classe fille, elles doivent être marquées avec
opendans la classe de base etoverridedans la classe fille. super: Le mot-clésuperest utilisé pour accéder aux membres de la classe de base depuis la classe fille.- Héritage simple d'implémentation : Kotlin supporte l'héritage simple d'implémentation (d'une seule classe), mais l'héritage multiple d'interfaces.
Exemple de classe de base :
// Classe de base
open class Animal(val name: String) {
open fun makeSound() {
println("$name fait un son")
}
}
Exemple de classe fille :
// Classe fille
class Dog(name: String) : Animal(name) {
override fun makeSound() {
println("$name aboie")
}
}
Utilisation :
// Utilisation d'objets
fun main() {
val animal = Animal("Animal générique")
animal.makeSound() // Sortie : Animal générique fait un son
val dog = Dog("Buddy")
dog.makeSound() // Sortie : Buddy aboie
}