![]() |
Interface
Hallo,
ich möchte mich mal ein bisschen mit Interfaces beschäftigen. Ich habe aber irgendwie garkeinen Plan davon. Kennt jemand ein Tutorial dafür? Ich habe keines gefunden. Das Konzept von Interfaces ist mir auch nicht so ganz klar. Vielleicht kann mir da ja jemand helfen? Vielen Dank, Benjamin |
Re: Interface
Hallo Benni,
das wäre vielleicht etwas für dich (betrachte auch die folgenden Links): ![]() Grüße |
Re: Interface
Wenn ich mich nicht irre, hilft das weiter: [google]"Modellierung und Systementwicklung"[/google]
grml, warum werden die "'s aus dem suchquery entfernt |
Re: Interface
Danke! Das ging ja mal wieder superschnell.
@Matze: Perfekt, jetzt werde ich wissen, wie das funktioniert. @vlees: Perfekt, jetzt werde ich wissen, wofür ich das brauch. Warum habe ich das nicht gefunden? :gruebel: So, jetzt ergibt sich folgende Frage: Was bringt einem der GUI String, dabei? In den beiden Links aus dem Thread, den Matze verlinkt hat, wird darauf nicht eingegangen. |
Re: Interface
Zitat:
Das bringt dir, dass du eine GUID vorgeben kannst, ansonsten bekommst du IMHO eine vom Compiler verpasst. Damit hat dein Interface eine weltweit einmalige ID und man kann es darüber finden/ansprechen/ignorieren. |
Re: Interface
|
Re: Interface
So, nächstes Problem:
Ich habe ein Interface von einem anderen abgeleitet:
Delphi-Quellcode:
Ich kann IShape ein Objekt, das von einem Nachfahren von IShape abgeleitet ist, nicht zuweisen?
IShape=Interface
... IRect=Interface(IShape) .. TRect=class(TInterfacedObject, IRect) Var Shape:IShape; Shape:=TRect.Create Warum? Viele Grüße, Benjamin [Edit]@xaromz: Danke, das Thema wird ja immer genialer. |
Re: Interface
Zitat:
Nur über die GUID wird der Typ des Interfaces gehandhabt. Außerdem musst du beim Implementieren eines Interfaces auch sämtliche Vorfahren dieses Interfaces angeben, die du implementieren willst. Das nervt wie Hölle, aber ohne gates nicht... |
Re: Interface
ok, damit kann ich leben.
Die GUIDs werden dann also zum unterscheiden der Interfaces verwendet. So wie bei xaromz mit Supports. Haben sie noch eine andere Funktion? |
Re: Interface
Zitat:
also so
Delphi-Quellcode:
Damit wiederum kann man ziemlich coole Dinge bauen, wie Dictionaries, die pro GUID eine Factory haben oder was-weiß-ich-noch-alles...
var
eineGuid : TGuid; begin eineGuid := IRect; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 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