Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

AW: Vererbung und Polymorphie

  Alt 18. Dez 2014, 16:15
Das ist doch alles vom Ansatz schon total falsch

Hier wird gerade alles durcheinander geworfen.

Wie kann man TJob von TMensch ableiten?
Selbst TSchueler kann man nicht von TMensch ableiten.

Denn TSchueler ist eine Rolle die ein TMensch einnimmt. Somit wäre das also eine Eigenschaft, die man hat oder nicht oder nicht mehr hat.

Somit ist also TMensch ein Aggregat und kann eben Bezug zu diesen Rollen haben mit entsprechenden Eigenschaften.

Daraus würde sich dann folgender Ansatz ergeben
Delphi-Quellcode:
TRolle = class
end;

TMensch = class
  property Rollen[Index:Integer] : TRolle read GetRolle;
end;

TSchule = class
end;

TSchulKlasse = class
  property Schule : TSchule;
end;

TSchueler = class( TRolle )
  property Klasse : TSchulKlasse;
end;
Jetzt kann man z.B. alle Menschen herausfiltern, die Schüler der Schule xy sind.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat