hi!,
kommen wir doch gleich zu meinem Problem:
Ich hab 4 Klassen, auch wenn die "ist ein" Frage jetzt nicht so hinhaut.
Motor, Auto (erbt Motor), Boot (erbt Motor), Fahrer. Das Auto hat eine neue
eigene Methode, die der Motor nicht hat/kennt.
Der Fahrer hat nun eine ArrayList vom Typ Motor. Diese lasse ich nun durch eine
for schleife jagen und möchte die neue Methode aufrufen, wenn diese Objekt eine Instanz
von Auto ist.
Das Problem ist jetzt natürlich das "Motor" keine Methode lenken() kennt, was zu einem Fehler führt.
Als einfache Lösung würde ich sagen, ich schreibe eine leere Methode in die Klasse Motor, doch das
finde ich recht unschön. Gibt es da andere Möglichkeiten oder muss ich damit leben?
kommen wir doch gleich zu meinem Problem:
Ich hab 4 Klassen, auch wenn die "ist ein" Frage jetzt nicht so hinhaut.
Motor, Auto (erbt Motor), Boot (erbt Motor), Fahrer. Das Auto hat eine neue
eigene Methode, die der Motor nicht hat/kennt.
Der Fahrer hat nun eine ArrayList vom Typ Motor. Diese lasse ich nun durch eine
for schleife jagen und möchte die neue Methode aufrufen, wenn diese Objekt eine Instanz
von Auto ist.
Java:
class Motor
start() {...}
class Auto extends Motor
start();
// neue methode
void lenken() {...}
class Boot extends Motor
start();
class Fahrer
arraylist<Motor> list;
list.add(new Auto)
list.add(new Boot)
for(int i = 0; i < list.size(); i++) {
if(list.get(i) instanceOf Auto) {
list.get(i).lenken();
}
}
Das Problem ist jetzt natürlich das "Motor" keine Methode lenken() kennt, was zu einem Fehler führt.
Als einfache Lösung würde ich sagen, ich schreibe eine leere Methode in die Klasse Motor, doch das
finde ich recht unschön. Gibt es da andere Möglichkeiten oder muss ich damit leben?