Registriert seit: 16. Apr 2007
2.325 Beiträge
Turbo Delphi für Win32
|
Re: Verständnisfrage zu Interfaces
26. Nov 2007, 17:26
Was soll denn das Create im letzten Code-Teil?
Du kannst in den Kameras, die mehr Funktionalität bieten, so viele Methoden wie du willst reinpacken. Der Punkt ist eben, dass im Interface nur die Funktionen ansprechbar sind, die auch im Interface deklariert sind. Anders gesagt: Du kannst eine TKamera2 genauso über ein ICamera ansprechen wie eine TKamera1, aber mit der Interface-Variablen hast du keinen Zugriff auf Set- und GetTriggerTimeout.
Wenn es jedoch mehrere Kameras gibt, die Set- und GetTriggerTimeout implementieren, kann es nützlich sein, ein Interface IExtendedCamera = interface(ICamera) mit diesen Methoden zu erstellen, über das du dann die "besseren" Kameras austauschen kannst.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
|