Les classes scellées Classe:scellée
1. Qu’est-ce qu’une classe scellée ?
À l’instar des classes abstraites, une classe scéllée permet de modéliser une hiérarchie de classes. Une classe scellée est cependant un peu plus restrictive qu’une classe abstraite. En effet, si n’importe quelle classe peut hériter d’une classe abstraite, seules les classes définies dans le même fichier que la classe scellée peuvent en hériter.
En d’autres termes, les classes filles doivent être écrites dans le même fichier que la classe scellée. Nous pouvons, au choix, écrire ces classes uniquement dans le même fichier ou aller plus loin et écrire des classes imbriquées.
Si l’on essaie d’étendre d’une classe scellée en dehors du fichier dans lequel celle-ci est déclarée, le programme ne compilera malheureusement pas.
2. Écrire une classe scellée
Écrire une classe scellée est très simple puisqu’il suffit de reprendre la syntaxe d’une classe classique et d’ajouter devant le mot-clé sealed. sealed
Soit une classe scellée Animal qui possède un attribut name permettant de stocker le nom de l’animal :
sealed class Animal(val name: String)
Écrivons quelques classes supplémentaires héritant de cette classe scellée.
Commençons par la classe...