On peut en delphi utiliser une property et indiquer qu'elle implemente une interface. Ce qui évite de tout récrire les fonctions et procédures de l'interface pour juste rappeler les mêmes avec un objet respectant cette interface.
exemple :
Mais cet implements à des limites voici les deux cas qui m'ont posés problèmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TTruc class ( TInterfacedObjects, IExemple ) FExemple : IExemple ; public property Exmple : IExemple read FExemple implements IExemple ; // on peut aussi utiliser une fonction GetExemple pour préparer l'interface juste avant.
Ceci oblige d'utiliser des as et des support de partout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 ITruc = interface( IExemple ) TTruc class ( TInterfacedObjects, ITruc ) FExemple : IExemple ; public property Exmple : IExemple read FExemple implements IExemple ; // erreur IExemple ne fait pas parti des interfaces de TTruc ITruc = interface( IExemple ) TTruc class ( TInterfacedObjects, ITruc, IExemple ) FExemple : IExemple ; public property Exmple : IExemple read FExemple implements IExemple ; // erreur les méthodes de IExemple ne sont pas implémentées
Pour moi cet implements est incomplet, c'est une tentative de rattraper cette utopie de ne pas avoir de multi héritage.
Partager