Sommaire

Les classes imbriquées Classe:imbriquée

Il est possible de déclarer une classe... dans une classe ! Cette fonctionnalité offre au développeur un autre moyen d’organiser son code. Les classes principales sont enregistrées dans des espaces de noms et ces mêmes classes deviennent containers d’autres classes.

La plupart du temps, la classe imbriquée, appelée nested class ou inner class, n’a aucune signification en dehors de sa classe hôte et son opérateur de visibilité est de type private, limitant ainsi son instanciation et son utilisation à la classe hôte. Il est malgré tout possible de modifier ce type d’accès en public ou protected. nested class inner class

Syntaxe d’une nested class

class Hote 
{ 
   class Imbriquee 
   { 
   } 
}

Si une classe imbriquée reçoit une référence sur une classe hôte, alors elle peut accéder à tous les membres de la classe hôte.

La classe hôte n’a accès qu’aux membres de type public de la classe imbriquée.

Le fait de déclarer une classe dans une autre n’induit aucune conséquence sur les instanciations des classes hôte et imbriquée.

Exemple de codage d’une classe imbriquée et de sa classe hôte

using System; 
 
namespace Chap7 
{ 
  class Program 
  { 
    static void Main(string[] ...