SITE WEB de |
Enseignement > Programmation orientée objet > Delphi > Relations entre classes |
|
|
I. COMPOSITION D’OBJETS Un objet peut être composé à partir d’autres objets Exemple : une voiture est composée
Chaque composant est un attribut de l’objet composé Type TPneu = Class TRoue = Class TVoiture = Class constructor TPneu.Create; constructorr TRoue.Creation; constructeur TVoiture.Creation; Le destructeur d’un objet composé doit appeler le destructeur de ses composants destructor TRoue.free; pneu.free; end; destructor TVoiture.free; L’instanciation d’un objet définit un pointeur sur une zone mémoire
On peut accéder aux composants d’un objet par la notation pointée : var maVoiture : TVoiture ; On peut modifier la référence des objets, simplement par affectation procedure TVoiture.ChangerRoueAVG ; RoueSecours := RoueIntervertie ; {3} end;
Le paramètre d’une méthode identique à l’attribut d’un objet : ambiguïté de notation Procedure TRoue.ChangerPneu (pneu :TPneu); pour lever cette ambiguité, on utilise Self qui désigne l’objet à l’intérieur de ses méthodesProcedure TRoue.ChangerPneu (pneu :TPneu); II. L’HERITAGE DE CLASSES Classification Exemples :
Type Vehicule = Class(Tobject) TBicyle = Class(TVehicule) Tvelo = Class(TBicyle) Tmoto = Classe(TBicyle) Il faut écrire le constructeur pour les classes qui ont des attributs (initialisation de ces attributs). L’appel à la méthode inherited déclenche la méthode de l’ancêtreconstructor TVehicule.Create; begin inherited ; Roueavant := TRoue.Create ; Rouearriere := Troue.Create; end; destructor Tbicycle.free; constructor TMoto.Create; procedure TVehicule.TournerAGauche; procedure TVehicule.TournerADroite; procedure TVehicule.Avancer; procedure TVehicule.freiner; procedure TVelo.pedaler() ; procedure TMoto.mettre_les_gaz() ; var monVelo : Tvelo ; debut Les méthodes avancer, freiner ou tournerAgauche du vélo ont celles de l’ancêtre. |
||
Mise à jour par l'éditeur le : 06/11/2003 -
Copyright © 2012 - 2013 François Bonneville - Tous droits réservés |
||