Hallo!
Wenn ich eine Superklasse "Auto" habe und darunter die Subklassen "Sportwagen","Lastkraftwagen","Familienkutsch" habe, kann man folgendes machen?:
Auto auto = new Sportwagen();
Hintergrund:
Ich habe etwa 15 Subklassen von Auto.
Manche Methoden der Subklassen sind völlig Indent (mit unterschiedlichen internen Berechnungen) andere different.
Damit ich im Code nur eine Instanzvariable habe und dennoch die verschiedenen Typen auch ansprechen kann, dachte ich, ich erstelle die Superklasse als Instanz.
Man kann ja den Typ der Klasse abfragen, richtig?
Falls die Subklassen also unterschiedlich sind, erzeuge ich eine IF Abfrage des Typs, ansonsten einfach:
"auto.calcColor();"
a. Darf man eine Superklasse die als Abstrakt definiert ist, dennoch nutzen?
b. Macht es Sinn die Superklasse zu nutzen, um im Code nur eine Variable zu haben?
Danke!
Wenn ich eine Superklasse "Auto" habe und darunter die Subklassen "Sportwagen","Lastkraftwagen","Familienkutsch" habe, kann man folgendes machen?:
Auto auto = new Sportwagen();
Hintergrund:
Ich habe etwa 15 Subklassen von Auto.
Manche Methoden der Subklassen sind völlig Indent (mit unterschiedlichen internen Berechnungen) andere different.
Damit ich im Code nur eine Instanzvariable habe und dennoch die verschiedenen Typen auch ansprechen kann, dachte ich, ich erstelle die Superklasse als Instanz.
Man kann ja den Typ der Klasse abfragen, richtig?
Falls die Subklassen also unterschiedlich sind, erzeuge ich eine IF Abfrage des Typs, ansonsten einfach:
"auto.calcColor();"
a. Darf man eine Superklasse die als Abstrakt definiert ist, dennoch nutzen?
b. Macht es Sinn die Superklasse zu nutzen, um im Code nur eine Variable zu haben?
Danke!