Les classes abstraites
1. Qu’est-ce qu’une classe abstraite ? Classe:abstraite
Une classe abstraite est une classe que l’on ne peut pas instancier, c’est-à-dire une classe à partir de laquelle on ne peut pas créer d’objets.
À quoi ça sert ?
Créer une classe abstraite, donc une classe pour laquelle on ne peut pas créer d’instance, permet d’ajouter de la logique métier à une application informatique. Reprenons les classes Animal, Cat et Dog. Nous pouvons instancier des objets pour chacune de ces classes :
val dog = Dog(4, "Doggo", "labrador", "brown", 180, 12.5f, 's')
val cat = Cat(2, "Kitten", "persan", "grey", 60, 6.3f)
val animal = Animal(16, "Animal", "unknown", "green", 180, 12.5f)
S’il est logique de pouvoir créer un chien ou un chat, est-ce logique de pouvoir créer un animal non identifié ?
La réponse est non ! La classe Animal doit donc logiquement être une classe abstraite.
2. Écrire une classe abstraite
Créer une classe abstraite est très simple. Il suffit d’utiliser le mot-clé abstract au moment de la déclaration de la classe, comme ceci : abstract
abstract class Animal(var age: Int, var name: String, var race:
String, var color: String, var size: Int, var weight: Float)
{
...