![]() |
T4 = class( T1, T2, T3 ) :: Poly-Klassenvererbung?
Folgendes habe ich gestern durch ein anderes Problem gefunden:
Delphi-Quellcode:
1. Werden alle Vorfahren zusammengeführt?
TComponent = class(TPersistent, IInterface, IInterfaceComponentReference)
// ... end; 2. Wenn 1. = ja, dann: Mal angenommen, Eigenschaften, Methoden oder Events sind mind. 2 Mal in den Vorfahren vorhanden, überschreiben sich dann diese nach der Vererbungsreihenfolge? Beispiel (nur theoretisch): TPersistent hat eine Methode Test und TInterface ebenso, überschreibt TInterface.Test die Deklaration von TPersistent.Test? Ich werde es selber auch mal ausprobieren, aber es gibt sicher ein paar Hinweise, die wichtig dazu sind. |
Re: T4 = class( T1, T2, T3 ) :: Poly-Klassenvererbung?
Interface haben keine Eigenschaften und bei Methoden mit gleichen Signaturen ist das ja egal.
|
Re: T4 = class( T1, T2, T3 ) :: Poly-Klassenvererbung?
Liste der Anhänge anzeigen (Anzahl: 1)
Achtung: Interfaces sind keine Klassen! Und zwar eben aus diesem Grund, um nämlich Mehrfachvererbung und die unerwünschten Nebeneffekte wie das Überlappen von Methoden/Eigenschaften etc. zu verhindern, was problematisch werden kann.
Ich weiß zwar nicht, wie es genau in Delphi ausschaut, jedoch kann man in C# explizit angeben, welche Methode zu welchem Interface zugeordnet ist. Desweiteren ist zu beachten, dass Interfaces nur vorgeben, welche Methoden die Klasse, die das Interface implementiert, haben soll, selbst aber nur aus Definition besteht. Basisklassen hingegen können ja selbst ausführbaren Quellcode enthalten, sofern sie nicht abstrakt sind. Siehe dazu auch ![]() |
Re: T4 = class( T1, T2, T3 ) :: Poly-Klassenvererbung?
Danke. Ich schaue es mir in Ruhe an.
|
Re: T4 = class( T1, T2, T3 ) :: Poly-Klassenvererbung?
OK, ich habe mir die PDF grob durchgelesen. Derzeit keine weiteren Fragen, deshalb Problem gelöst. Danke noch mal. :)
|
Re: T4 = class( T1, T2, T3 ) :: Poly-Klassenvererbung?
Bitte sehr, kein Problem :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 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