AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[Interfaces]: Anwendungsbeispiel

Offene Frage von "mytar"
Ein Thema von mytar · begonnen am 4. Dez 2004 · letzter Beitrag vom 15. Dez 2004
Antwort Antwort
Seite 2 von 3     12 3      
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: [Interfaces]: Anwendungsbeispiel

  Alt 10. Dez 2004, 15:23
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.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#12

Re: [Interfaces]: Anwendungsbeispiel

  Alt 10. Dez 2004, 15:45
Zitat von mytar:
Ich bräuchte ein Beispiel wo ich statt einer normalen Klasse,
besser ein Interface nehmen sollte (eventuelle Code).
zB. für das observer-pattern (Beobachter)! Wenn man das nicht mit interfaces macht, so müsste man es starr in die klassen hierarchie einbauen und fremde objekte könnten nicht als beobachter oder beobachtete fungieren, da sie nicht von der klasse abstammen. Nimmt man jetzt ein Interfaces so können alle objekte, die wollen, diese fähigkeiten implementieren. Man lediglich feststellen, ob das interface implmentiert ist.

Da bieten sich 'tausende' sachen an, die auf den ersten blick garnicht danach aussehen
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
HeikoDD

Registriert seit: 8. Okt 2003
11 Beiträge
 
#13

Re: [Interfaces]: Anwendungsbeispiel

  Alt 10. Dez 2004, 17:46
Delphi-Quellcode:
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;
ich hoffe das beantworte die eigentliche frage ein wenig
  Mit Zitat antworten Zitat
mytar

Registriert seit: 30. Mai 2004
Ort: Zermatt
411 Beiträge
 
Delphi 6 Enterprise
 
#14

Re: [Interfaces]: Anwendungsbeispiel

  Alt 10. Dez 2004, 18:04
Ja danke

@maximov: Könntest du dieses Observer-Zeug genauer erklären?

@HeikoDD: Ich weiss wie ich dass ganze deklariere, danke!

Bitte weitere Beispiele, danke!
Francis Obikwelu
greetz
mytar
  Mit Zitat antworten Zitat
mytar

Registriert seit: 30. Mai 2004
Ort: Zermatt
411 Beiträge
 
Delphi 6 Enterprise
 
#15

Re: [Interfaces]: Anwendungsbeispiel

  Alt 11. Dez 2004, 16:34
*push*
Francis Obikwelu
greetz
mytar
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#16

Re: [Interfaces]: Anwendungsbeispiel

  Alt 13. Dez 2004, 15:17
Zitat von mytar:
@maximov: Könntest du dieses Observer-Zeug genauer erklären? ...
Ein observer ist ein software-muster (pattern):
Zitat:
Observer (Beobachter) - Definiere eine 1-zu-n-Abhängigkeit zwischen Objekten, so dass die Änderung des Zustands eines Objekts dazu führt, dass alle abhängigen Objekte benachrichtigt und automatisch aktualisiert werden.
Dazu könnte man ein interface implementieren, welches die nötigen features abstrakt definiert:
Delphi-Quellcode:
type

  INotifyable = interface
    procedure Notification(const NotifyArg:TNotifyArg);
  end;

  IObserveable = interface
    procedure AddObserver(const aObserver:INotifyable);
    procedure RemoveObserver(const aObserver:INotifyable);
  end;
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.

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
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
mytar

Registriert seit: 30. Mai 2004
Ort: Zermatt
411 Beiträge
 
Delphi 6 Enterprise
 
#17

Re: [Interfaces]: Anwendungsbeispiel

  Alt 14. Dez 2004, 16:23
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
Francis Obikwelu
greetz
mytar
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#18

Re: [Interfaces]: Anwendungsbeispiel

  Alt 14. Dez 2004, 16:26
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
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#19

Re: [Interfaces]: Anwendungsbeispiel

  Alt 14. Dez 2004, 16:33
Zitat von jbg:
Interfaces mit COM oder einfach nur Delphi-Interfaces?

Die Delphi Interfaces eignen sich immer dann, wenn du zwei Units hast, die sich aber beide im interface-Abschnitt brauchen, was ja nicht geht. Dann kann man ein Interface erstellen auf das dann beide Zugreifen, die eine implementierend und die andere nutzend.
das is ja interessant. könntest du mir bitte evtl dazu n bisschen sourcecode geben, wenn du hast?
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#20

Re: [Interfaces]: Anwendungsbeispiel

  Alt 14. Dez 2004, 20:52
Zitat von mirage228:
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
Nicht ganz. Das heißt, dass 1 Objekt mehrere als Observer bei diesem einen Objekt angemeldete Objekte benachrichtigt. Oder kurz 1 Objekt verwaltet mehrere Objekte
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz