Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Mehrfachvererbung (https://www.delphipraxis.net/152979-mehrfachvererbung.html)

idefix2 15. Jul 2010 11:49

Mehrfachvererbung
 
Zu dem Thema finde ich in der Delphi-Dokumentation nichts. Ich habe aber in einigen Programmen schon Konstrukte der Form

Delphi-Quellcode:
type
   NeueKlasse = class of (class1, class2, class3)
      ...
      end;
gesehen, vor allem In Verbindung mit Interfaces.

Ist das in Delphi mittlerweile möglich, und wenn ja, muss man dabei etwas speziell beachten?

Neutral General 15. Jul 2010 11:52

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])

mkinzler 15. Jul 2010 11:53

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

himitsu 15. Jul 2010 11:58

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.

mkinzler 15. Jul 2010 12:05

AW: Mehrfachvererbung
 
Eine Interface ist nur eine Vereinbarung/Verpflichtung Methoden mit festgelegten Signaturen zu implmentieren.


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