![]() |
Re: [Interfaces]: Anwendungsbeispiel
Interfaces machen dann Sinn, wenn du Mehrfachvererbung (zwecks polymorphem Verhalten) nachbilden willst, denn eine Klasse kann in OPascal nur von einer erben, aber beliebig viele Interfaces implementieren.
Edit: Ein Interface kannst du dir als eine abstrakte Klasse ohne Felder, bei der alle Methoden abstrakt sind. |
Re: [Interfaces]: Anwendungsbeispiel
Zitat:
Da bieten sich 'tausende' sachen an, die auf den ersten blick garnicht danach aussehen :cyclops: |
Re: [Interfaces]: Anwendungsbeispiel
Delphi-Quellcode:
ich hoffe das beantworte die eigentliche frage ein wenig :)
Type
ixyz = interface [guid] procedure tutwat; stdcall; end; TXYZ = Class(TInterfacedObject, IXYZ) privat protected public procedure tutwat; stdcall; end; Var tmp : ixyz; ixyz = TXYZ.Create(); ixyz.tutwat; |
Re: [Interfaces]: Anwendungsbeispiel
Ja danke :-D
@maximov: Könntest du dieses Observer-Zeug genauer erklären? @HeikoDD: Ich weiss wie ich dass ganze deklariere, danke! Bitte weitere Beispiele, danke! :oops: |
Re: [Interfaces]: Anwendungsbeispiel
*push* :firejump:
|
Re: [Interfaces]: Anwendungsbeispiel
Zitat:
Zitat:
Delphi-Quellcode:
Jedes object, das INotifyable implemntiert kann sich nun bei dem IObserveable-objekt anmelden und wenn es seinen zustand ändert, dann werden alle Notifications, von allen INotifyable-objekten auf gerufen.
type
INotifyable = interface procedure Notification(const NotifyArg:TNotifyArg); end; IObserveable = interface procedure AddObserver(const aObserver:INotifyable); procedure RemoveObserver(const aObserver:INotifyable); end; Hätte man hier keine interfaces, so müssten sowohl, die procedure von INotifyable, als auch die von IObserveable, tief in der klassen-hierarchie vergraben sein, damit möglichst viele objekte diese fähigkeit besitzen. Das würde aber zu einer starren klassenabhängigkeit führen, mit der man soweiso immer schon kämpfen muss. Interfaces können also dieses problem auflockern und bieten eine prima möglichkeit 'Quer-Einsteiger-funktionalitäten' umzusetzen :wink: |
Re: [Interfaces]: Anwendungsbeispiel
Könntest du mit der Erklärung noch etwas weiter gehen, wass dann folgen würde.
Was ist eine 1 zu n - Beziehung? Danke, maximov :-D |
Re: [Interfaces]: Anwendungsbeispiel
Hi,
ich glaube er meint, dass 1 bis n Objekte als Observer an diesem Objekt hängen und dann über das Interface sich eintragen und über das andere Interface benachrichtigt werden. mfG mirage228 |
Re: [Interfaces]: Anwendungsbeispiel
Zitat:
|
Re: [Interfaces]: Anwendungsbeispiel
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz