Voici le problème posé :
J'ai deux classes Derived dérive de Derived1 qui dérive de Base.
.
Dans ma classe de base, j'ai une procedure qui s'appelle MaMethode, elle est déclarée comme étant classe virtuelle, dans ma classe dérivée, elle le même.
Si j'ai choisi qu'elle porte le même nom, c'est parce qu'elles font la même chose à ceci près que celle qui se trouve dans ma classe dérivée accepte un paramètre supplémentaire ou différent (Polymorphisme).
A priori, d'après les avertissements de Delphi à la compilation, Il me dit que ma méthode virtuelle de ma classe de base est cachée par ma classe dérivée. Mais je ne veux pas, car je voudrais pouvoir dériver ma classe Derived1 afin de retrouver ma méthode d'origine, comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 type Base = class procedure MaMethode(Parametre:integer); virtual; end; Derived1 = class (Base) procedure MaMethode(Parametre:integer;Parametre2:string); Overload; end;
Sans perdre ma méthode déclarée dans Derived1 !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Derived2 = class (Derived1) procedure MaMethode(Parametre:integer); Override; end;
A l'arrivée, ce que je voudrais, c'est me retrouver comme si j'ais écris ça :
Ou met-je donc les override, overload, virtual et autre reintroduce ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Derived2 = class procedure MaMethode(Parametre:integer); Override; overload; procedure MaMethode(Parametre:integer;Parametre2:string); overload; end;
Please Help...
Partager