Unit Unit1;
Interface
Uses
SysUtils;
Type
TTestArray =
Array Of String;
TDatenklasse =
Class
private
FWert1:
String;
FWert2:
String;
FWert3: Integer;
FWert4: TTestArray;
End;
TAufgabeBasis =
Class
private
FDatenklasse: TDatenklasse;
Function GetWert1:
String;
Function GetWert2:
String;
Function GetWert3: Integer;
Procedure SetWert1(
Const Value:
String);
Procedure SetWert2(
Const Value:
String);
Procedure SetWert3(
Const Value: Integer);
Function GertWert4: TTestArray;
protected
Property Wert1:
String read GetWert1
write SetWert1;
Property Wert2:
String read GetWert2
write SetWert2;
Property Wert3: Integer
read GetWert3
write SetWert3;
Property Wert4: TTestArray
read GertWert4;
Procedure AddToWert4(Value:
String);
virtual;
public
Constructor Create;
End;
TAufgabe1 =
Class(TAufgabeBasis)
public
Property Wert1;
Property Wert2;
Procedure AddToWert4(Value:
String);
override;
End;
TAufgabe2 =
Class(TAufgabeBasis)
public
Property Wert2;
Property Wert3;
Procedure AddToWert4(Value:
String);
override;
End;
Var
GDatenklasse: TDatenklasse;
Implementation
{ TAufgabeBasis }
// ********************************************************************
Procedure TAufgabeBasis.AddToWert4(Value:
String);
Begin
SetLength(FDatenklasse.FWert4, Length(FDatenklasse.FWert4) + 1);
FDatenklasse.FWert4[Length(FDatenklasse.FWert4) - 1] := Value;
End;
// ********************************************************************
Constructor TAufgabeBasis.Create;
Begin
FDatenklasse := GDatenklasse;
End;
// ********************************************************************
Function TAufgabeBasis.GertWert4: TTestArray;
Begin
Result := FDatenklasse.FWert4;
End;
// ********************************************************************
Function TAufgabeBasis.GetWert1:
String;
Begin
Result := FDatenklasse.FWert1;
End;
// ********************************************************************
Function TAufgabeBasis.GetWert2:
String;
Begin
Result := FDatenklasse.FWert2;
End;
// ********************************************************************
Function TAufgabeBasis.GetWert3: Integer;
Begin
Result := FDatenklasse.FWert3;
End;
// ********************************************************************
Procedure TAufgabeBasis.SetWert1(
Const Value:
String);
Begin
FDatenklasse.FWert1 := Value;
End;
// ********************************************************************
Procedure TAufgabeBasis.SetWert2(
Const Value:
String);
Begin
FDatenklasse.FWert2 := Value;
End;
// ********************************************************************
Procedure TAufgabeBasis.SetWert3(
Const Value: Integer);
Begin
FDatenklasse.FWert3 := Value;
End;
// ********************************************************************
{ TAufgabe2 }
Procedure TAufgabe2.AddToWert4(Value:
String);
Begin
Inherited;
End;
// ********************************************************************
{ TAufgabe1 }
Procedure TAufgabe1.AddToWert4(Value:
String);
Begin
Inherited;
End;
// ********************************************************************
Initialization
GDatenklasse := TDatenklasse.Create;
Finalization
FreeAndNil(GDatenklasse);
End.