fossybeer
Mitglied
Hallo Gemeinde!
Sicher ist das ein triviales Problem, aber ich komm nicht drauf und weiß auch nicht, unter welchem Stichwort ich nachschlagen/suchen soll. Es geht um das klassische Vererben:
Ich habe eine (Eltern-)Klasse "Fahrzeug" und zwei davon abgeleitete Klassen "PKW" und "LKW". Basisfunktionen stehen in "Fahrzeug", spezielle Funktionen in den Kindklassen, z.T. überschrieben, z.T. neu. Soweit so gut.
Nun kann der Nutzer auswählen, ob er einen PKW oder einen LKW berechnen will. Das Problem im Programm: Wie kann ich die richtige Klasse auswählen?
So geht es NICHT, weil Brumm nur im if-Block gilt.
Und so kann ich nur auf die Methoden der Elternklasse zugreifen.
Was macht man bitte in so einem Fall? Das kommt doch sicher ständig vor, oder?
Ich stehe auf jeden Fall auf dem Schlauch. Danke euch!
Sicher ist das ein triviales Problem, aber ich komm nicht drauf und weiß auch nicht, unter welchem Stichwort ich nachschlagen/suchen soll. Es geht um das klassische Vererben:
Ich habe eine (Eltern-)Klasse "Fahrzeug" und zwei davon abgeleitete Klassen "PKW" und "LKW". Basisfunktionen stehen in "Fahrzeug", spezielle Funktionen in den Kindklassen, z.T. überschrieben, z.T. neu. Soweit so gut.
Nun kann der Nutzer auswählen, ob er einen PKW oder einen LKW berechnen will. Das Problem im Programm: Wie kann ich die richtige Klasse auswählen?
Code:
int zuBerechnendesFahrzeug = 1 // (1=PKW, 2=LKW);
if( zuBerechnendesFahrzeug == 1)
{
PKW Brumm = new PKW();
}
else
{
LKW Brumm = new LKW();
}
Code:
int zuBerechnendesFahrzeug = 1 // (1=PKW, 2=LKW);
Fahrzeug Brumm;
if( zuBerechnendesFahrzeug == 1)
{
Brumm = new PKW();
}
else
{
Brumm = new LKW();
}
Was macht man bitte in so einem Fall? Das kommt doch sicher ständig vor, oder?
Ich stehe auf jeden Fall auf dem Schlauch. Danke euch!