![]() |
Mehrfachvererbung
Zu dem Thema finde ich in der Delphi-Dokumentation nichts. Ich habe aber in einigen Programmen schon Konstrukte der Form
Delphi-Quellcode:
gesehen, vor allem In Verbindung mit Interfaces.
type
NeueKlasse = class of (class1, class2, class3) ... end; Ist das in Delphi mittlerweile möglich, und wenn ja, muss man dabei etwas speziell beachten? |
AW: Mehrfachvererbung
Hi,
Mehrfachvererbung gibt es in Delphi nicht. Was aber (wie du gesehen hast) möglich ist, ist dass man von 1 Klasse ableitet und beliebig viele Interfaces implementieren kann. Generell:
Delphi-Quellcode:
type
TKlasse = class(TBase, IIrgendwas, IBar, [Weitere Interfaces]) |
AW: Mehrfachvererbung
Nein, Delphi unterstützt keine Mehrfachvererbung sondern nur Vererbung von Interfaces.
Übrigens kennt Java und C# auch keine Mehrfachvererbung. Und das nicht ohne Grund. Denn Mehrfachvererbung bricht u.U. den Grundsatz von Is-A |
AW: Mehrfachvererbung
Das es keine Mehrfachvererbung gibt, wurde ja schon gesagt.
Diese Programmiersprachen arbeiten nunmal alle "linear" (auch wenn es nicht immer danach aussieht, aber ein Thread läuft immer nur Linear ab) und da kann es nur einen Abarbeitungspfad und somit auch nur einen direkten Vorfahren geben, da man sich nicht einfach so aufsplitten kann. Bei Interfaces ist es auch keine "Vererbung", denn das Objekt bekommt nichts vom Interface, sondern es wird nur das Interface mit dem Objekt verbunden ... das ist quasi nur sowas wie ein Alias (Umleitung, bzw. anderer Zugangspfad). Das ist quasi wie mit einem Haus. Dieses Haus kann nur ein Grundstück/Vorfahren darunter haben, aber dieses Haus könnte mehrere Adressen/Interfaces haben (Briefkasten, Postfach, Telefon, Handy), womit man die Einwohner/Funktionen dieses Hauses erreichen kann. |
AW: Mehrfachvererbung
Eine Interface ist nur eine Vereinbarung/Verpflichtung Methoden mit festgelegten Signaturen zu implmentieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 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 by Thomas Breitkreuz