Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Klassen in versch Units vererben

  Alt 30. Nov 2016, 15:56
Dein Ansatz ist schon falsch.
Man würde Konto nie von Bank ableiten. Eine Ableitung ist quasi eine Spezialisierung.
Delphi-Quellcode:
TFahrzeug = class
TAuto = class(TFahrzeug)
TLKW = class(TFahrzeug)
TMotorrad = class(TFahrzeug)
Autos, LKWs und Motorräder sind spezielle Arten von Fahrzeugen.
Sie unterscheiden sich zwar, aber es sind im Grunde alles Fahrzeuge (daher die Ableitung von TFahrzeug).

Bei Bank und Konto funktioniert das nicht. Ein Konto ist etwas anderes als eine Bank.
Ein Konto ist keine spezielle Art von Bank sondern etwas anderes (wenn auch TEIL einer Bank).

Was du tun würdest wäre eine Klasse TBank und eine Klasse TKonto (NICHT von TBank ableiten).
TBank fügst du eine Liste von TKonto hinzu und Methoden zum Verwalten dieser Liste - z.B. "procedure KontoHinzufuegen(AKontoNr: Integer; ABesitzer: TPerson)"

Delphi-Quellcode:
TKonto = class
private
  FKontoNr: Integer;
  FKontostand: Currency;
  FBesitzer: String;
public
  property Besitzer: String read FBesitzer write FBesitzer;
  property KontoNr: Integer read FKontoNr write FKontoNr;
  property Kontostand: Currency read FKontostand write FKontostand;
end;

TBank = class
private
  FKonten: TObjectList<TKonto>; // Im constructor erstellen.
public
  property Konten[Index: Integer]: TKonto read GetKonto; // Result := FKonten[Index];
  property KontoCount: Integer read GetKontoCount; // Result := FKonten.Count;
  procedure AddKonto(AKontoNr: Integer; ABesitzer: String); // Konto-Objekt erstellen, Eigenschaften zuweisen und der Liste hinzufügen.
end;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (30. Nov 2016 um 16:01 Uhr)
  Mit Zitat antworten Zitat