Hallo liebe Community,
mein Titel ist leider nicht genau, aber mir ist leider nichts besseres eingefallen
Habe folgendes Problem:
Ich habe eine generische ArrayList<Einheit> erstellt, und dieser Objekte hinzugefügt.
Die Objekte
Wenn ich jetzt meine ArrayListe auslesen möchte, kann ich natürlich nur die Methoden, dementsprechend auch nur die Attribute, von Einheit auslesen, aber bräuchte auch Zugriff auf die Methoden der Unterklassen.
Hoffe ihr versteht mein Problem und könnt mir helfen.
Hier noch bissi Quelltext zum Verständnis:
mein Titel ist leider nicht genau, aber mir ist leider nichts besseres eingefallen
Habe folgendes Problem:
Ich habe eine generische ArrayList<Einheit> erstellt, und dieser Objekte hinzugefügt.
Die Objekte
- sind aus unterschiedlichen Klassen
- haben unterschiedliche Attribute/Methoden (siehe Punkt vorher)
- erben allesamt von der Klasse Einheit
Wenn ich jetzt meine ArrayListe auslesen möchte, kann ich natürlich nur die Methoden, dementsprechend auch nur die Attribute, von Einheit auslesen, aber bräuchte auch Zugriff auf die Methoden der Unterklassen.
Hoffe ihr versteht mein Problem und könnt mir helfen.
Hier noch bissi Quelltext zum Verständnis:
Java:
public class Staffel {
private ArrayList<Einheit> staffel = new ArrayList<Einheit>();
private Magier magier;
private Krieger krieger;
private Bogenschütze bogenschütze;
...
public void addMagier(String rang){
if(anzEinheit<10){
magier = new Magier("Magier","rang",20,1,1,40);
staffel.add(magier);
anzEinheit++;
}else System.out.println("Die Staffel ist voll besetzt");
}
// selbe Methode auch für Krieger und Bogenschütze
...
public void ausgabeStaffel(){
for(int i=0;i<=anzEinheit;i++){
staffel.get(i).
// Hier sollen alle Attribute von Magier ausgegeben werden, da Mana allerdings über die Methode .getMana() aus der Klasse Magier ausgelesen wird, kann ich das Attribut nicht bekommen.
}
}
public class Magier extends Einheit{
private int mana;
public Magier(String sorte, String rang,int leben, int geschick, int verteidigung, int mana) {
super(sorte, rang, leben, geschick, verteidigung);
}