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

Contenu supprimé Contenu ajouté
imported>Aibot
Ligne 32 :
 
== Exemple de code ==
Un adapteur pour faire un carré aux coins ronds. Le code est en c++.
 
<source lang="cpp">
class Carre{
public:
Carre();
virtual DessineCarre();
virtual coordonnees* GetQuatreCoins();
};
 
class Cercle{
public:
Cercle();
virtual DessineCercle();
virtual void SetArc1(coordonnees* c1);
virtual void SetArc2(coordonnees* c2);
virtual void SetArc3(coordonnees* c3);
virtual void SetArc4(coordonnees* c4);
virtual coordonnes* GetCoordonneesArc();
};
 
class CarreCoinsRondAdapter: public Carre, private Cercle{
public:
CarreCoinsRondAdapter();
virtual void DessinceCarre(){
SetArc1(new coordonnees(0,0));
SetArc2(new coordonnees(4,0));
SetArc3(new coordonnees(4,4));
SetArc4(new coordonnees(0,4));
// Fonction qui dessine les lignes entre les arcs
DessineCercle();
}
virtual coordonnees* GetQuatreCoins(){
return GetCoordonneesArc();
}
};
 
</source>
 
== Utilisations connues ==