Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi implements und Schnittstellen (https://www.delphipraxis.net/18862-implements-und-schnittstellen.html)

stoxx 25. Mär 2004 14:01


implements und Schnittstellen
 
Kann mir vielleicht jemand schnell und gut erklären, was implements bei Interfaces bedeutet ?
Werde aus der Delphi Hilfe irgendwie nicht recht schlau.
Hab wahrscheinlich irgendwie gerade einen Knoten im Gehirn.
Und kennt jemand gute Info Quellen über Interfaces in Delphi ?

DAnke an alle !

Markus K. 25. Mär 2004 14:09

Re: implements und Schnittstellen
 
Hallo stoxx,
die Implementation-Sektion einer Unit ist der Bereich, wo die Prozeduren und Funktionen, welche man in der Interface-Sektion deklariert hat, definiert werden. Alle Prozeduren und Funktionen müssen dort definiert werden, die man vorher in dem Interface-Teil deklariert hat. Dabei müssen die Deklarationen genau übereinstimmen.

Tschüß Markus

stoxx 25. Mär 2004 14:44

Re: implements und Schnittstellen
 
ähm .. nee .. sorry ;-)

ich meinte implements in Interfaces, siehe Code
Das Beispiel ist aus der Delphi Hilfe, sehe aber keinen Sinn darin irgendwie ? :cyclops: !

Code:
type
  IMyInterface = interface
    procedure P1;
    procedure P2;
  end;
  TMyClass = class(TObject, IMyInterface)
    FMyInterface: IMyInterface;
    property MyInterface: IMyInterface read FMyInterface implements IMyInterface;
  end;
var
  MyClass: TMyClass;
  MyInterface: IMyInterface;
begin
  MyClass := TMyClass.Create;
  MyClass.FMyInterface := ... // Einige Objekte, deren Klasse IMyInterface implementiert

  MyInterface := MyClass;
  MyInterface.P1;
end;

Markus K. 25. Mär 2004 15:09

Re: implements und Schnittstellen
 
oh...sorry, hab scheinbar nicht richtig gelesen :oops:

Hoffe das es nun das richtige ist.
Wenn eine Klasse von einem Interface erbt, muss die Klasse, die Methoden des Interfaces implementieren. Dabei kann auf eine andere Klasse zurückgreifen, welche die nötige Logik bzw. die entsprechenden Methoden besitzt. In diesem Fall enthält die ursprüngliche Klasse eine Referenz auf die Implementierungs-Klasse oder das infragekommende Interface dieser Klasse und zeigt dem Compiler mit der Anweisung implements an, dass es seine Implementierung an diese andere Klasse delegieren soll.

Tschüß Markus

stoxx 25. Mär 2004 15:56

Re: implements und Schnittstellen
 
Hallo Markus !

Ich versteh in dem obigen Beispiel nicht, wo der Quellcode von procedure P1 drin stehen muss ?
Also wo muss die Procedure implementiert sein ?

HAbe ich das jetzt richtig verstanden, dass procedure P1 und P2 nicht unbedingt in TMyClass integriert sein muss ?

Leuselator 16. Aug 2004 00:37

Re: implements und Schnittstellen
 
Da ich die selbe Frage hatte, der Thread hier aber irgendwie nicht so recht zum Ende gekommen ist, und die OH zum Thema Interfaces nicht gerade ergiebig ist, habe ich mich da durchgebissen und gewagt ein kleines Minitut zu basteln.
Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 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