Hallo ihr Lieben,
Ich stehe vor volgendem Problem:
- Es wurde ein Array aus einer Klasse erstellt.
- Diese Klasse hat geerbte Klassen
- Nun sollen im Array der Basisklasse Elemente eingefügt werden, die zur einer geerbten Klasse gehören.
z.B.:
-------------------------------------Hauptkalsse Person:-------------------------------------
public Person(String name, int alter, int grosse) {
this.name = name;
this.alter = alter;
this.groesse = groesse;
-------------------------------------geerbte Klasse Beruf:-------------------------------------
public Sportler(String name, int alter, int grosse, String sportart) {
super(name, alter, grosse, sportart);
this.sportart = sportart;
------------------------------------------------------------------------------
Array ist erstellt: z.B.:
static Person[0] array = new Person[4];
Wie füge ich nun in das Array mit der Basisklasse Elemente der geerbten Klasse hinzu? Folgendes scheint zu funktionieren:
array[0] = new Persob("Sabi", 12, 160, "Tennis");
Nur bei der Ausgabe gibt es dann Fehler. Folgendes funktioniert NICHT: (Es scheitert an: sportart)
System.out.println(array[0].name +" " + array[0].alter +" " +array[0].grosse +" " +array[0].sportart);
Bzw. es ist schlicht nicht möglich, da die Basisklasse nur 3 Elemente beinhaltet..
Was mache ich falsch? Vorgabe ist, dass der Typ des Arrays die Basisklasse sein muss..
Ich stehe vor volgendem Problem:
- Es wurde ein Array aus einer Klasse erstellt.
- Diese Klasse hat geerbte Klassen
- Nun sollen im Array der Basisklasse Elemente eingefügt werden, die zur einer geerbten Klasse gehören.
z.B.:
-------------------------------------Hauptkalsse Person:-------------------------------------
public Person(String name, int alter, int grosse) {
this.name = name;
this.alter = alter;
this.groesse = groesse;
-------------------------------------geerbte Klasse Beruf:-------------------------------------
public Sportler(String name, int alter, int grosse, String sportart) {
super(name, alter, grosse, sportart);
this.sportart = sportart;
------------------------------------------------------------------------------
Array ist erstellt: z.B.:
static Person[0] array = new Person[4];
Wie füge ich nun in das Array mit der Basisklasse Elemente der geerbten Klasse hinzu? Folgendes scheint zu funktionieren:
array[0] = new Persob("Sabi", 12, 160, "Tennis");
Nur bei der Ausgabe gibt es dann Fehler. Folgendes funktioniert NICHT: (Es scheitert an: sportart)
System.out.println(array[0].name +" " + array[0].alter +" " +array[0].grosse +" " +array[0].sportart);
Bzw. es ist schlicht nicht möglich, da die Basisklasse nur 3 Elemente beinhaltet..
Was mache ich falsch? Vorgabe ist, dass der Typ des Arrays die Basisklasse sein muss..