Eigentlich müsste TForm1 in eine eigene
Unit ausgelagert werden.
Delphi-Quellcode:
unit u_Bank;
type
TBank =
class(TObject)
public
Name:
String;
Standort:
String;
Geld: real;
constructor create(FName, FStandort:
String);
destructor destroy;
end;
Die Variablen HBank und Konto1 gehören eindeutig zu TForm1 und sollten deshalb dort deklariert werden.
Delphi-Quellcode:
unit u_Form1;
uses
uBank, uKonto;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
private
{ private declarations }
HBank : TBank;
Konto1: TKonto;
public
{ public declarations }
end;
Die Klasse TKonto von TBank abzuleiten ist fachlich falsch. Das Konto gehört zu einer Bank, eine Bank verwaltet mehrere Konten.
Das könnte man z.B. so abbilden:
Delphi-Quellcode:
TBank = class;
TKonto = class(TObject)
private
FBank: TBank; {im Konstruktor als Parameter übergeben und in die Liste der Bank eintragen}
public
property Bank: TBank read FBank;
end;
TKontoList = class(TObjectList)
end;
TBank = class(TObject)
private
FKonten: TKontoList; {im Konstruktor erzeugen, im Destruktor freigeben}
public
property Konten: TKontoList read FKonten;
end;