Ich würde deine beiden Klassen durch eine abstrakte Oberklasse erweitern:
Delphi-Quellcode:
unit Family;
interface
type
TFamilyMember =
class(TObject)
public
function GetType:
String;
virtual;
abstract;
// muss Überschrieben werden
end;
type
TParent =
class(TFamilyMember)
public
function GetType:
String;
override;
// FamilyMember-Methode überschrieben
end;
type
TSon =
class(TFamilyMember)
public
function GetType:
String;
override;
// FamilyMember-Methode überschrieben
end;
implementation
////////////////////////////////////////////////////////////////////////////////
//
// TParent.GetType
//
// Verwandtschaftsbeziehung.
function TParent.GetType:
String;
begin
result := '
Eltern';
end;
////////////////////////////////////////////////////////////////////////////////
//
// TSon.GetType
//
// Verwandtschaftsbeziehung.
function TSon.GetType:
String;
begin
result := '
Sohn';
end;
end.
Denn dein Beispiel würde ja bedeuten, dass der Sohn eine Art von Elternteil ist.
grüße, daniel