Folgende Sache. Kann nicht schwierig sein, aber irgendwie komm ich nicht drauf.
Es geht um eine Simulation komplexer biologischer Beziehungen. Dabei habe ich mehrere Klassen (Lebewesen, Tier, Saeugetier, Mensch, Futter, …).
In der Klasse Familie erzeuge ich ein HashSet für die Haustiere der Familie.
protected HashSet <Tier> haustiere = new HashSet <Tier> ();
haustiere.add(new Tier (...));
...
1. Zwei Subklassen von Tier sind Saeugetier (extends Tier) und Vogel (extends Tier). Ist es möglich im HashSet anstelle von Objekten der Klasse Tier auch Objekte der Klasse Saeugetier (new Saeugetier) oder Vogel (new Vogel) einzufügen obwohl ich nur Element der Klasse Tier zulasse? (um auch auf die Variablen der Subklassen zugreifen zu können). Oder empfiehlt es sich die Begrenzung des möglichen Inhalts aufzuheben?
2. In der selben Klasse erzeuge ich noch eine LinkedList für die Nahrungsmittel.
protected LinkedList <Futter> nahrungsmittelvorrat = new LinkedList <Futter> ();
nahrungsmittelvorrat.add(new Futter(…));
In der Klasse Futter will ich jetzt eine LinkedList machen, die als Inhalt haben soll welches Futter zu welchem Tier passt.
protected LinkedList <Tier> geeignetFuer;
Ich komme leider nicht drauf, wie ich das in der List mache. Denke, dass es mit dem Iterator geht. Mir erschließt sich halt nicht wie ich nahrungsmittelvorrat und haustiere verbinden soll. Vielleicht kann mir ja jemand weitehelfen.
Mit freundlichen Grüßen
Es geht um eine Simulation komplexer biologischer Beziehungen. Dabei habe ich mehrere Klassen (Lebewesen, Tier, Saeugetier, Mensch, Futter, …).
In der Klasse Familie erzeuge ich ein HashSet für die Haustiere der Familie.
protected HashSet <Tier> haustiere = new HashSet <Tier> ();
haustiere.add(new Tier (...));
...
1. Zwei Subklassen von Tier sind Saeugetier (extends Tier) und Vogel (extends Tier). Ist es möglich im HashSet anstelle von Objekten der Klasse Tier auch Objekte der Klasse Saeugetier (new Saeugetier) oder Vogel (new Vogel) einzufügen obwohl ich nur Element der Klasse Tier zulasse? (um auch auf die Variablen der Subklassen zugreifen zu können). Oder empfiehlt es sich die Begrenzung des möglichen Inhalts aufzuheben?
2. In der selben Klasse erzeuge ich noch eine LinkedList für die Nahrungsmittel.
protected LinkedList <Futter> nahrungsmittelvorrat = new LinkedList <Futter> ();
nahrungsmittelvorrat.add(new Futter(…));
In der Klasse Futter will ich jetzt eine LinkedList machen, die als Inhalt haben soll welches Futter zu welchem Tier passt.
protected LinkedList <Tier> geeignetFuer;
Ich komme leider nicht drauf, wie ich das in der List mache. Denke, dass es mit dem Iterator geht. Mir erschließt sich halt nicht wie ich nahrungsmittelvorrat und haustiere verbinden soll. Vielleicht kann mir ja jemand weitehelfen.
Mit freundlichen Grüßen