Freie Scripten und Tutorials erstellt von Roland Geyer       Startseite | Gästebuch

Aggregation


Eine Aggregation ist eine Beziehung zwischen Objekten. Sie ist eine Sonderform der Assoziation. Sie ermöglicht komplexe Funktionen auf Basis einfacher Funktionen zu entwickeln. Dies geschieht durch Delegation. Ein Objekt, das etwas kann, verlangt von einem anderen Objekt mit anderen Fähigkeiten für Ihn eine Aufgabe zu erledigen und das Ergebnis zurück zu liefern. Dies ersetzt die Vererbung.

Da diese neue Funktionalität durch Objekte getragen wird, kann sie sich, bei Änderungen zur Laufzeit des Programmes dynamisch den neuen Gegebenheiten anpassen. Dies ist bei einer Klassenbeziehung (Vererbung), wenn diese statisch definiert ist, nicht möglich! Damit das aber funktioniert, müssen die Objekte austauschbar = vom gleichen Typ = eine gemeinsam definierte Schnittstelle besitzen, obwohl sie unterschiedliche Methoden implementieren! Dies erreicht man, indem man nur den Typ des Objektes festlegt. Dazu dient das Interface.

Obwohl die Teile gemeinsam ein neues Ganzes ergeben, verbleiben sie noch sehr selbstständig. Unter ein neues Ganzes wird verstanden, dass die Summe der Teile einen neuen semantischen Zweck ergeben. Die Teile könnten zur selben Zeit auch woanders eingesetzt werden. Die Aggregation bedeutet daher eine UND Relation bei einer Zusammensetzung.

Beispiel: Mehrere Personen, Haus und Geräte bilden zusammen eine Firma.

Objekte sind in einer als Teil-von-Ganzen oder Ist-Teil-von Beziehung. Die Teile können unabhängig vom Ganzen existieren.
Daraus folgt:
- Ist B ein Teil von A, dann kann A nicht ein Teil von B sein.
- Ist C ein Teil von B und B ein Teil von A, dann ist C ein Teil von A.

Es findet eine Fortpflanzung von Attributwerten und/oder Operationen statt. Die Fortpflanzungsrichtung geht nur vom Anfangsobjekt zu den nächsten. Eine Umkehrung ist nicht möglich. Manche Operationen auf das Ganze werden auf die Teile angewandt. Eine Objektklasse ist der anderen untergeordnet.
Kennzeichen in UML-Diagramm ist die weiße Raute.

Eine Beziehung zwischen Objekten erfolgt durch Instanzierung des Objektes, mit dem eine Beziehung aufgebaut werden soll. Bei einem Objekt erfolgt dies durch z.B. new, bei mehreren Objekten meist über die Vektorklasse. API: java.lang.Comparable

Weitere freie Tutorials: Rhetorik & Kommunikation Typografie & Layout Bildbearbeitung mit Photoshop oder GIMP Vektorgrafik mit Illustrator, FreeHand, Corel Draw oder Inkscape Layout mit Indesign oder Scribus Druckvorstufe GoLive Html JavaScript Flash & ActionScript Director & Lingo Assembler DOS Java objektorientiert Perl Word Excel Access PowerPoint Outlook Betriebssystem