" Connais-toi toi-même "
Platon1. Les méthodes de TObject
La classe TobjetPossède les méthodes permettant de créer, gérer et détruire une instance en allouant, initialisant et libérant la mémoire nécessaire à cet objet.
Elle possède également plusieurs méthodes permettant de consulter les informations sur le type de classe et l'instance d'un objet
Exemple :
if monVehicule.ClassName = 'TVelo' then writeln('c''est un vélo') ;
monVehicule.ClassParent retourne TBicyle
monVehicule.InheritsFrom(TVehicule) est vrai
if monVehicule IS TVelo then writeln('c''est un vélo');
NB : Si monVehicule IS TVelo est vrai alors monVehicule IS TBicycle est également vrai ainsi que put tous ses ancetres
2. Affectations d'objet
Une référence désigne un objet appartenant à une classe
var monVehicule : TVehicule
monVehicule
Mais une référence peut désigner un objet appartenant à une classe qui héritent de la classe spécifiée.
Exemple
var monVehicule : TVehicule ;
var monVelo : TVelo ;
begin
monVelo := TVelo.Create ;
monVehicule := monVelo ;
writeln(monVehicule.ClassName) è
En mémoire, monVehicule et monVelo désigne le même objet
L'inverse n'est pas (directement) possible
monVelo := monVehicule ;
3. Transtypage
Possibilité pour un objet d'utiliser les attributs et les méthodes d'une classe descendante
grâce à l'opérateur AS
if monVehicule IS TVelo then (monVehicule AS TVelo).Pedaler()
ATTENTION, il faut bien être sûr de la relation d'héritage avant d'effectuer le transtypage.