:: Home :: Sitemap :: Downloads :: Shop :: Impressum :: Newsletter |
||
Support |
:: NEWS ::
NShape 2.3.0 wurde veröffentlicht mit Unterstützung von eingebetteten
Bildern in NShape-Dateien, Verschieben von Diagrammen per Maus, einer
deutlichen Erhöhung der Anzahl verfügbarer Layer und vielen weiteren
Funktionen und Verbesserungen. Die Liste aller Änderungen finden Sie
hier... |
|
Delphi InterfacesDieser Artikel beinhaltet eine kleine FAQ zu Interfaces in Delphi sowie eine Sammlung von nützlichen Resourcen zum Thema. Warum soll ich mich mit dem Thema Interfaces beschäftigen?Interfaces nehmen in der Software-Entwicklung eine
immer wichtigere Stellung ein. Java und COM sind zwei Technolgieen die beide
sehr stark auf Interfaces aufbauen, wenn auch auf völlig unterschiedliche
Weise. Auch in anderen Programmiersprachen halten Interfaces immer mehr
Einzug, C# z.B. hat zwar ein Klassen-basiertes Ableitungskonzept arbeitet
aber trotzdem auch intensiv mit Interfaces. Wo sollte ich in Delphi Interfaces einsetzen?Es gibt zwei Haupt-Anwendungsbereiche: Erstens, wenn
Sie mit COM zu tun haben, sei es Server- oder Client-seitig, lassen sich
interfaces gar nicht vermeiden. COM beruht darauf, und sowohl beim Import
von Typ-Bibliotheken als auch beim Erstellen neuer COM-Objekt generieren
die Wizards ein oder mehrere Interfaces. Ich habe von zwei verschiedenen Arten von Vererbung gehört, was hat es damit auf sich?Im Software-Engineering unterscheidet man zwischen der interface inheritance und der implementation inheritance. Manchmal spricht man auch von der Vererbung auf Typ-Ebene und auf Klassen-Ebene. Gemeint ist dabei, dass beim Ableiten einer Klasse manchmal der Polymorphie-Gedanke im Vordergrund steht, d.h. die Umsetzung einer "is a"/"ist ein" Beziehung, die es erlaubt alle abgeleiteten Klassen in gewisser Weise gleich zu behandeln. In anderen Fällen ist der Aspekt der Wiederverwendung wichtiger, also die Benutzung schon vorhandenen Codes und damit auch schon vorhandener Variablen. Interfaces ermöglichen ausschließlich die erste also die interface inheritance und sind somit "sauber". Die gewöhnliche Delphi-Ableitung von einer Basis-Klasse vereint beide Arten von Vererbung. Was ist neu an der Interface-Unterstützung in Delphi 6?Durch die Kompatibilität mit Kylix wurden in
Delphi 6 die letzten COM-Reste in der Umsetzung von Interfaces beseitigt.
Interfaces sind jetzt eine reine Delphi-Spracherweitung und in der System-Unit
implementiert ähnlich übrigens wie Kylix. Neben dem COM-basierten
Namen für das Wurzel-Interface IUnknown kann jetzt auch der
Delphi-eigene Name IInterface benutzt werden. Was bedeutet das Schlagwort "Delegation" im Zusammenhang mit Interfaces?Wenn eine Klasse von einem Interface erbt, verpflichtet sie sich, die Methoden des Interfaces zu implementieren. Manchmal kann sie dazu auf eine andere Klasse zurückgreifen, die die nötige Logik enthält und über die entsprechenden Methoden anbietet. In diesen 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 delegiert. Wo finde ich weitere Informationen zum Thema Interfaces in Delphi?Eine wichtige Quelle sind alle Bücher, Artikel usw. zum Thema COM in Delphi, weil hier Interfaces so wichtig sind und deshalb ausführlich besprochen werden. Z.B: Andreas Kosch: "COM/DCOM/C+ mit Delphi" Natürlich sind diese Resourcen etwas einseitig und weniger auf die Implementierung von Interfaces und die Bedeutung im Objektorientierten Design ausgerichtet. In dieser Richtung ist der Artikel von Max Kleiner: "Von Angesicht zu Angesicht" in "Der Entwickler" 5.2001 eine gute Einführung. Ein guter zweiteiliger Artikel auf Englisch ist in der Borland Community zu finden. Auch Bücher über Software-Design sind oft eine gute Quelle, z.B. enthält Max Kleiner: "UML mit Delphi" ein Kapitel zum Thema. Schließlich finden sich in praktisch allen aktuellen Delphi-Büchern Erläuterungen zu Interfaces so z.B. auch in Ray Lischner: "Delphi in a Nutshell" Peter Pohmann ist Trainer, Speaker, Coach und Autor bei dataweb und hat sich auf Delphi, COM und Datenbank-Anwendungen spezialisiert. Er freut sich über Ihre Kommentare zu diesem Artikel: peterDOTpohmannADDdataweb.de
|