« Patrons de conception/Objet composite » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 290 :
 
<source lang=csharp>
/// <summary> Par simplicité, ni méthode Add ni Remove ni GetChild. </summary>
abstract class Composant {
public int Level = 0;
Ligne 308 :
 
class Composite : Composant {
public Composant[] Composants; // serait private s'il y avait une méthode Add.
public override void Draw() {
base.Draw();
Ligne 322 :
static void Main(string[] args) {
 
//__________________________________________________________________________
//___________________________________________________________________________
// On crée en général la structure par de multiples appels à la méthode Add.
 
var cadre = new Composite() {
Nom = "fond d écran",
Composants = new Composant[] {
Ligne 342 :
};
 
//__________________________________________________________________________
//___________________________________________________________________________
// Et voilà le pourquoi de l'utilisation du pattern:
// un seul appel à Draw dessine tout l'écran.