Hallo !
Ich habe ein Problem mit Vererbung im Zusammenhang mit ADTs... (Arraylist).
Die Grundstruktur:
public abstract class Gebjekte { ... }
public class Kreis extends Gebjekte {
public int getMittelpunkt() { ... }
...
}
So, jetzt möchte ich eine Arraylist benutzen, um verschiedene Objekte zu speichern...also:
ArrayList<Gebjekte> tmp = new ArrayList<Gebjekte>();
Da sollen also u.A. Kreis Objekte rein (natürlich habe ich auch noch andere Klassen, die von Gebjekte erben). Jetzt möchte ich später die Funktion getMittelpunkt() aufrufen, z.B.:
System.out.println(tmp.get(0).getMittelpunkt() );
Es wird die Funktion getMittelpunkt nicht gefunden, weil sie in der Klasse Gebjekte nicht vorhanden ist. Ist ja irgendwo auch logisch - aber wie löst man sowas ? Das ist ja eigentlich eine Grundidee der Vererbung, dass ich eine Funktion erst in einer erbenden Klasse habe und diese aufrufen möchte.
Vielen Dank und Grüße,
Tim
Ich habe ein Problem mit Vererbung im Zusammenhang mit ADTs... (Arraylist).
Die Grundstruktur:
public abstract class Gebjekte { ... }
public class Kreis extends Gebjekte {
public int getMittelpunkt() { ... }
...
}
So, jetzt möchte ich eine Arraylist benutzen, um verschiedene Objekte zu speichern...also:
ArrayList<Gebjekte> tmp = new ArrayList<Gebjekte>();
Da sollen also u.A. Kreis Objekte rein (natürlich habe ich auch noch andere Klassen, die von Gebjekte erben). Jetzt möchte ich später die Funktion getMittelpunkt() aufrufen, z.B.:
System.out.println(tmp.get(0).getMittelpunkt() );
Es wird die Funktion getMittelpunkt nicht gefunden, weil sie in der Klasse Gebjekte nicht vorhanden ist. Ist ja irgendwo auch logisch - aber wie löst man sowas ? Das ist ja eigentlich eine Grundidee der Vererbung, dass ich eine Funktion erst in einer erbenden Klasse habe und diese aufrufen möchte.
Vielen Dank und Grüße,
Tim