IOrderHeader = interface function GetNoOrder: integer; procedure SetNoOrder(Value: integer); end;
TOrderHeader = class(TInterfacedObject, IOrderHeader) public //méthodes de l'interface IOrderHeader function GetNoOrder: integer; procedure SetNoOrder(Value: integer); property NoOrder: integer read GetNoOrder write SetNoOrder; end;
IFavoriClient = interface function GetNoClient: integer; function GetAdresse: string; function GetTel: string; procedure SetNoClient(Value: integer); procedure SetAdresse(Value: string); procedure SetTel(Value: string); end; TFavoriClient = class(TInterfacedObject, IFavoriClient) public //méthodes de l'interface IFavoriClient function GetNoClient: integer; function GetAdresse: string; function GetTel: string; procedure SetNoClient(Value: integer); procedure SetAdresse(Value: string); procedure SetTel(Value: string); property NoClient: integer read GetNoClient write SetNoClient; property Adresse: string read GetAdresse write SetAdresse; property Tel: string read GetTel write SetTel; end;
TItem = class(TInterfacedObject, IOrderHeader, IFavoriClient) private //méthodes de l'interface IOrderHeader function GetNoOrder: integer; procedure SetNoOrder(Value: integer); //Méthodes de l'interface IFavoriClient function GetNoClient: integer; function GetAdresse: string; function GetTel: string; procedure SetNoClient(Value: integer); procedure SetAdresse(Value: string); procedure SetTel(Value: string); public end;
var //attention à bien déclarer des interfaces et NON des classes ! Order: IItem; Favori: IItem; //explications plus loin... CodeCommande: integer; AdresseClient: string;
//Instanciation Order:= TItem.Create as IOrderHeader;
CodeCommande := Order.GetNoOrder; //changement de cap ! Favori:= Order as IFavoriClient; AdresseClient := Favori.GetAdresse;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question