Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Folgendes Szenario als Bsp.: Es gibt eine Superklasse "Auto" und Klassen die davon erben wie "BMW" "Mercedes" "Audi"
Dann gibt es "Volkswagen", die nicht von "Auto" erbt, aber ich davon ein Objekt erzeugen soll mit Attributen die in "Auto" deklariert sind. Sprich: Kann ich, obwohl "Volkswagen" nicht von "Auto" erbt, irgendwie auf die Attribute zugreifen, oder auf den Konstruktor von "Auto"?
Ich muss in einer Main Objekte erzeugen und zwar folgende:
BMW bmw = new BMW("String", "String", boolean, int);
Mercedes benz = new Mercedes("String", "String", boolean, double);
Audi audi = new Audi("String", "String", boolean, long);
So zum Beispiel. Die Konstruktoren der Unterklassen rufen bei Attributen der Klasse "Auto" super() auf. Bei
Attributen der Unterklasse this.x = x; - also die ersten drei Parameter sind Attribute der Superklasse und der letzte Parameter ein Attribut der jeweiligen Klasse. Also wird erstmal super(ersten drei Attribute); aufgerufen und dann this.blabla
Jedoch erbt "Volkswagen" nicht von "Auto" und hat nur ein Klassenattribut. Aber in der Aufgabenstellung sollen dem Objekt von "Volkswagen" auch Attribute von "Auto" hinzugefügt werden. Aber ich kann ja im Konstruktor von "Volkswagen" nicht super() aufrufen. Geht das irgendwie anders, oder gar nicht?
Du kannst dem Volkswagen ein Attribut vom Typ Auto zur Verfügung stellen, welches du mit den entsprechenden Werten initialisierst (zb Auto a = new Auto(String, String, boolean). So hat Volkswagen indirekt auch die Attribute von Auto, wo man dann mit this.a.getWasauchimmer() hinsteuern kann.
Habe hier eine andere Aufgabenstellung an der ich nun hänge! Komme nicht weiter.
Erstellen Sie eine Klasse BiologischeOrdnung, die von ArrayList erbt.
b) Erstellen Sie eine Klasse Artenvielfalt, die
eine Variable saeugetiere vom Typ BiologischeOrdnung, die nur Saeugetiere aufnimmt und
eine Variable fleischfresser vom Typ BiologischeOrdnung, die nur Geier und Loewen aufnimmt. So Sie weitere Klassen oder Interfaces benötigen, zögern Sie nicht diese zu erstellen.
c) Implementieren Sie einen Konstruktor und die dazugehörigen Getter & Setter
d) Erzeugen Sie in der main-Methode der Klasse TierweltApp eine Variable mit Namen artenvielfalt vom Typ Artenvielfalt. Fügen Sie folgende Objekte in folgende Collection hinzu:
saeugetiere: simba & marius
fleischfresser: simba & flinn
Mein Ansatz:
Java:
import java.util.ArrayList;
public class BiologischeOrdnung extends ArrayList {
BiologischeOrdnung(){}
}
public interface Fleischfresser {
// fasst Objekte vom Typ Loewe und Geier zusammen in Fleischfresser
}
public class Artenvielfalt {
BiologischeOrdnung saeugetiere; //... wie mache ich diese Variable zu einer Collection die nur Objekte
// vom Typ Sauegetier aufnimmt??
BiologischeOrdnung fleischfresser; //... wie mache ich diese Variable zu einer Collection die nur Objekte
// vom Typ Fleischfresser aufnimmt??
Artenvielfalt(){}
public Artenvielfalt(BiologischeOrdnung saeugetiere,
BiologischeOrdnung fleischfresser) {
super();
this.saeugetiere = saeugetiere;
this.fleischfresser = fleischfresser;
}
public BiologischeOrdnung getSaeugetiere() {
return saeugetiere;
}
public void setSaeugetiere(BiologischeOrdnung saeugetiere) {
this.saeugetiere = saeugetiere;
}
public BiologischeOrdnung getFleischfresser() {
return fleischfresser;
}
public void setFleischfresser(BiologischeOrdnung fleischfresser) {
this.fleischfresser = fleischfresser;
}
}
Ein neues Thema macht nichts.
Aber es geht eher darum das man meist schon am Titel erkennen soll um was der Thread handelt.
Aber ich glaub zu deiner Frage hat dir @InfectedBytes die Antwort schon gegegeben.
Die ArrayList ist generisch, und man auch den Typ weitereinschränken und sagen welche Interfaces implementiert werden müssen.
Ein neues Thema macht nichts.
Aber es geht eher darum das man meist schon am Titel erkennen soll um was der Thread handelt.
Aber ich glaub zu deiner Frage hat dir @InfectedBytes die Antwort schon gegegeben.
Die ArrayList ist generisch, und man auch den Typ weitereinschränken und sagen welche Interfaces implementiert werden müssen.