Zitat von
devnull:
@Hansa: Wenn ich nur eine Klasse TMensch habe, dann fehlt mir doch die Vererbung von Attributen der Klasse TFahrer auf die Nachfahren TMann und TFrau, oder? --> Ich benutze die Klassen zur Demonstration, oder ist das generell falsch?
Ja, das ist generell falsch ! Dem Auto ist es egal, ob der/die Fahrer/in z.B. Oberweite 105 hat.
Das Ganze ist auch ein allgemeines Denkproblem mit
OOP. Außerdem ist es etwas abstrakt. Die Programm-Logik ist da äußerst wichtig.
Wie gesagt, die Unterscheidung m/w läßt sich einfach durch ein Bool-Feld abhaken. Dafür brauche ich keine
OOP, sondern baue das direkt in TMensch ein. Dieser hat dann eine Schuhgröße usw.
Von diesem TMensch leite ich nun TFahrer ab. Der braucht nämlich noch mehr, als das, was TMensch mitbringt. Der hat nicht nur eine Schuhgröße, die bereits in TMensch implementiert ist, sondern auch noch eine Führerscheinklasse. Dann auch noch ein weiteres Bool-Feld "Brillenträger" usw.
Aber auch das alles hat mit dem Typ TAuto immer noch nichts zu tun ! Das sind völlig inkompatible Typen und Du mußt sie vollkommen trennen ! Auch die Sitzplätze sind für das Auto völlig uninteressant. Als Fahrgäste sind nur der Fahrer und die Beifahrer interessant. Das geht dann um TMensch und TFahrer.