Les classes imbriquées Classe:imbriquée

Une classe imbriquée (nested class) est une classe qui est définie à l’intérieur d’une autre classe.

Quelle est la différence avec une classe interne ?

L’une et l’autre permettent de modéliser un lien très étroit avec la classe englobante. Il existe cependant une différence fondamentale entre une classe imbriquée et une classe interne : si la classe interne peut accéder aux attributs et fonctions de la classe englobante, ce n’est pas le cas de la classe imbriquée.

Du point de vue de la syntaxe, il n’y a aucun mot-clé spécifique à connaître : une classe imbriquée est tout simplement une classe écrite dans une autre classe.

Revenons à la modélisation de l’ordinateur. Nous avons besoin d’une classe modélisant un ordinateur et contenant deux attributs, à savoir une carte graphique et un disque dur ; d’une première classe imbriquée modélisant une carte graphique et contenant elle aussi deux attributs, à savoir la marque de la carte graphique et le modèle ; et une seconde classe imbriquée modélisant un disque dur et contenant deux attributs, à savoir sa marque et sa capacité.

class Computer(val graphicCard: GraphicCard, val hardDisk: HardDisk) 
{ 
 
 class GraphicCard(val name: String, val model: String) 
 ...
couv_RIKOT.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Les classes internes
Suivant
Les classes scellées