ArrayList<xyz> Verschachtelung oder Vererbung?

Da_Tebe

Mitglied
Hallo!

Ich habe eine Frage bezüglich der besten Methode einer Art Verschachtelung. Mir geht es besonders darum wie man am Besten auf die einzelnen Objekte zugreifen kann.

Sagen wir ich habe folgende Klassen:
-Universum
-Galaxie
-Sonnensystem
-Planet

Die Hierarchie sieht so aus wie oben dargestellt: Universum besteht aus Galaxien, diese aus Sonnensystemen und diese wiederum aus Planeten.

Bis jetzt dachte ich mir, dass jede Klasse eine ArrayList <E> seines Kindes enthält. Sonnensystem enthält also eine ArrayList<Planet> usw.

Ist das so zu umständlich und ich sollte lieber mit Vererbung arbeiten? Oder ist das gar keine Option?

MfG
Daniel :)
 

Da_Tebe

Mitglied
Hi :)
Danke für die schnelle Antwort. Ich arbeite mit dem MVC Modell. Irgendwie habe ich das Gefühl das alle meine Klassen das 'Hauptobjekt' Universum als Parameter benötigen und damit sehr viele Referenzen unterwegs sind. Würde da Sinn machen das erzeugte Objekt 'public' zu setzen? Oder lieber jeder klasse das Universum übergeben?ws
 
G

Gast2

Gast
Oder lieber jeder klasse das Universum übergeben?
Ja auf jedenfall. Entweder "per Hand" oder nen DI Framework dafür nutzen, z.b. Guice. Aber da du eher Anfänger bist (?), würde ich das per Hand machen.

Würde da Sinn machen das erzeugte Objekt 'public' zu setzen?
Das ist immer ne ganz schlechte Idee. Abhängigkeiten solltest du im Konstruktor übergeben.
 

Da_Tebe

Mitglied
Anfänger nicht wirklich. Aber manche Sachen benutze ich so gut wie nie, da meine Projekte immer einen sehr Überschaubaren Rahmen haben =) Somit musste ich mich während des Studiums nur kurz damit auseinander setzen.
 

bERt0r

Top Contributor
Ein Alternativvorschlag: Du erstellst ein Interface SpaceObject
Java:
interface SpaceObject
{
public Universum getUniversum();
}

Und lässt deine Klassen dieses Interface implementieren. Die Klassen müssten sich dann quasi immer das übergeordnete SpaceObject merken - Universum gibt this zurück, alle anderen callen getUniversum vom parent SpaceObject. Im allgemeinen ist eine Objektreferenz pro Objekt mehr aber nicht wirklich schlimm (Speicher ist billiger als Rechenzeit).
 

parabool

Bekanntes Mitglied
Warum sollen alle Klassen das Hauptobjekt "Universum kennen" ?
Durch die hierarchische Struktur ist die Beziehung zum jeweils übergeordeten System,
schon gegeben.

Ok, Navigierbarkeit. Du willst vom Planeten das Sonnensystem ermitteln, von diesem wiederum die Galaxie usw.
so etwa:
Code:
erde.getSonnensystem.getGalaxie().getUniversum()

dazu musst Du dem den Kind die Referenz des Übergeordneten Systems übergeben.
z.B
Java:
class Sonnensystem
{
   ...
   public add(Planet planet)
   {
      planet.setParent(this);
      arraylist.add(planet);
   }
   ...   
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Daniel_L RegEx: UBB in HTML konvertieren, Problem Verschachtelung Allgemeine Java-Themen 3
U Vererbung?! Allgemeine Java-Themen 15
temi Problem mit Aufrufreihenfolge bei Vererbung Allgemeine Java-Themen 3
MiMa Vererbung und Komposition?? Allgemeine Java-Themen 38
Kirby.exe Vererbung bei Generics Allgemeine Java-Themen 7
L Vererbung Verständnis Probleme Vererbung Allgemeine Java-Themen 2
W Generics + Vererbung Allgemeine Java-Themen 47
M Vererbung mithilfe von Bluej Allgemeine Java-Themen 3
M List -Tableview-Javafx-Vererbung Allgemeine Java-Themen 35
A Vererbung Selbstreferenzparameter Allgemeine Java-Themen 14
D Thema: Vererbung Ober-/Unterklassen Allgemeine Java-Themen 16
D Frage zu Vererbung Allgemeine Java-Themen 5
N Vererbung mit GUI Allgemeine Java-Themen 9
E Vererbung Countable mit Vererbung Allgemeine Java-Themen 6
J 2 Fragen zur Vererbung Allgemeine Java-Themen 5
T Javaklassen und vererbung Allgemeine Java-Themen 32
F Vererbung Allgemeine Java-Themen 5
Neumi5694 Vererbung Restriktive Vererbung Allgemeine Java-Themen 4
A Vererbung Übungsaufgabe Vererbung - Erstellung Klassenhierarchie Allgemeine Java-Themen 1
J Allgemeine Fragen zu Vererbung Allgemeine Java-Themen 1
kaoZ Generics und Vererbung Allgemeine Java-Themen 3
D Problem bei Vererbung abstrakter Klassen Allgemeine Java-Themen 6
D Object nach Vererbung mit Class Object überprüfen Allgemeine Java-Themen 4
T Super Klasse Vererbung Problem :/ Allgemeine Java-Themen 10
L Unabhängige Auslieferung bei Vererbung Allgemeine Java-Themen 20
S MVC - Vererbung Allgemeine Java-Themen 4
C Enums und Vererbung Allgemeine Java-Themen 6
F Google Guice + Generics + Vererbung Allgemeine Java-Themen 5
D Unterschied Vererbung und Polymorphie? Allgemeine Java-Themen 4
K Vererbung ohne Basisklasse zu kennen Allgemeine Java-Themen 20
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
M OOP PropertyChangeListener - Vererbung oder Komposition? Allgemeine Java-Themen 5
S OOP Mehrfache Vererbung von abstrakten Klassen Allgemeine Java-Themen 7
G Designfrage Vererbung ja oder nein Allgemeine Java-Themen 9
S equals - Identität ändern bei Vererbung? Allgemeine Java-Themen 5
dayaftereh Vererbung Hilfe Allgemeine Java-Themen 2
D Vererbung, Reflection und automatischer Methodenaufruf Allgemeine Java-Themen 24
A PropertyChangeListener Vererbung Allgemeine Java-Themen 4
P DefaultTreeCellRenderer Vererbung Allgemeine Java-Themen 5
S Objekte die Objekte enthalten: Keine Vererbung Allgemeine Java-Themen 4
J Vererbung bei abstrakten Klassen Allgemeine Java-Themen 2
S Vererbung: Welche Methode wird verwendet? Allgemeine Java-Themen 9
L Checkstyle: Wann ist eine Methode für Vererbung entworfen? Allgemeine Java-Themen 13
S normale vererbung als interface Allgemeine Java-Themen 2
S statische Methoden und Vererbung Allgemeine Java-Themen 6
R Vererbung - doppelte Paint-Methode Allgemeine Java-Themen 4
R Vererbung mit Interface und Abstract Allgemeine Java-Themen 3
B Vererbung bei enums ? Allgemeine Java-Themen 3
W Frage zu Vererbung / konkretes Beispiel Allgemeine Java-Themen 4
F Vererbung von SessionBeans Allgemeine Java-Themen 3
O abstract, privat, Vererbung Allgemeine Java-Themen 29
L Annotations mit Vererbung Allgemeine Java-Themen 4
M Singleton und Vererbung? Allgemeine Java-Themen 45
T Problem mit Vererbung Allgemeine Java-Themen 3
V Vererbung und Schleifen Allgemeine Java-Themen 5
C Comparable + Vererbung Funktioniert nicht? Allgemeine Java-Themen 4
A Ansatz Objektorientierung, Methoden Vererbung Allgemeine Java-Themen 2
D Listen von Generischen Typen inkl. Vererbung Allgemeine Java-Themen 2
D Zugriffsmethode nach Vererbung ändern? Allgemeine Java-Themen 5
S Vererbung in UML Allgemeine Java-Themen 3
T Nochmal Frage zu Vererbung Interfaces etc. Allgemeine Java-Themen 10
Y Gedanken zur Vererbung Allgemeine Java-Themen 7
F Vererbung, Generizität und Collections. Allgemeine Java-Themen 7
G Frage zu statischen Variablen bei Vererbung Allgemeine Java-Themen 15
F Vererbung Allgemeine Java-Themen 5
S Vererbung von mehreren Klassen? Allgemeine Java-Themen 5
C enum und Vererbung Allgemeine Java-Themen 3
K Problem mit Vererbung - Kein wirklicher Nutzen. Allgemeine Java-Themen 10
G vererbung vs benutzung Allgemeine Java-Themen 7
L Vererbung klappt nicht Allgemeine Java-Themen 5
W Probleme mit Arrays und Vererbung ! Allgemeine Java-Themen 5
M vererbung einer "selbst-instanzierungs-klasse" Allgemeine Java-Themen 16
J Vererbung. Allgemeine Java-Themen 8
H Frage zur Vererbung Allgemeine Java-Themen 5
S private Instanzvaribalen bei "Innerer-Vererbung" Allgemeine Java-Themen 9
H Vererbung auch ohne erzeugung einer Instanz möglich? Allgemeine Java-Themen 3
M frage zur vererbung Allgemeine Java-Themen 12
G Generics und Vererbung. Allgemeine Java-Themen 21
M Vererbung von Hashtables Allgemeine Java-Themen 5
C dynamische Vererbung Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben