Beziehungen zwischen Objekten

Werbung
Beziehungen zwischen Objekten
M. Jakob
Gymnasium Pegnitz
2. Februar 2015
Inhaltsverzeichnis
Aggregation und Referenzen
1.1 Begriffsbildung
1.2 Umsetzung in Java
1
2
Sequenzdiagramme
1
Aggregation und Referenzen
Gliederung
1 Aggregation und Referenzen
1.1 Begriffsbildung
1.2 Umsetzung in Java
2
Sequenzdiagramme
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
3 / 16
In diesem Abschnitt
Aggregation und Referenzen
1.1 Begriffsbildung
1.2 Umsetzung in Java
1
2
Sequenzdiagramme
Aggregation und Referenzen
1
1
Begriffsbildung
Klassenbezieungen
Zwischen verschiedenen Klassen können Beziehungen bestehen.
Beispiel:
Die Klasse STADT tritt als Hauptstadt in der Klasse LAND auf.
Die öffentlichen Methoden der Klasse STADT sind dann angebotene
Dienste, die die Klasse LAND nutzen kann.
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
5 / 16
Aggregation und Referenzen
1
1
Begriffsbildung
Aggregation
Als Attribute sind in Java auch ganze Klassen erlaubt. Z.B. enthält die
Klasse LAND das Attribut hauptstadt vom Datentyp STADT). Im
Klassendiagramm wird das durch einen Verbindungslinie mit einer
Raute symbolisiert und als Aggregation bezeichnet. An die Seite der
genutzten Klasse wird die Anzahl der enthaltenen Objekte angegeben.
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
6 / 16
Aggregation und Referenzen
1
1
Begriffsbildung
Referenzattribute
Dabei werden nicht die Daten des
Attributes hauptstadt in dem
Speicherbereich des Landes abgelegt.
Es wird nur eine Referenzadresse
angegeben, unter der die Daten zu
finden sind.
Wenn die Stadtdaten aktualisiert
wurden, sind damit die Daten der
Hauptstadt ebenfalls aktualisiert.
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
Zelle
...
10000
10001
10002
10003
10004
10005
10006
10007
...
10100
10101
10102
10103
10104
10105
Inhalt
name
„Deutschland“
hauptstadt
10100
einwohnerzahl
80000000
staatsoberhaupt
„Merkel“
name
„Berlin“
einwohnerzahl
4000000
buergermeister
„Wowereit“
2. Februar 2015
7 / 16
In diesem Abschnitt
Aggregation und Referenzen
1.1 Begriffsbildung
1.2 Umsetzung in Java
1
2
Sequenzdiagramme
1
Aggregation und Referenzen
2
Umsetzung in Java
Deklaration Attribute
Das Attribut hauptstadt wird als Referenzattribut der Klasse Stadt
deklariert.
1
2
3
4
5
6
public class Land
{
private String name;
private Stadt hauptstadt ;
private int einwohnerzahl ;
private Person staatsoberhaupt ;
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
9 / 16
Umsetzung in Java
1 2
Anpassung der Getter- und Settermethoden
Aggregation und Referenzen
Die Datentypen der Übergabeparameter und Rückgabewerte müssen
angepasst werden.
1
2
3
4
5
6
public Stadt hauptstadtGeben (){
return hauptstadt ;
}
public void hauptstadtSetzen ( Stadt hauptstadt
){
this. hauptstadt = hauptstadt ;
}
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
10 / 16
Umsetzung in Java
1 2
Anpassung der Methode datenAnzeigen()
Aggregation und Referenzen
Auf das Referenzattribut Hauptstadt kann nicht mehr mit
System.out.println ausgegeben werden. Vielmehr muss man die
Daten anzeigen lassen, indem man der Klasse STADT die Botschaft
übermittelt, dass die Daten des Objektes hauptstadt ausgegeben
werden sollen. Das erfolgt mit der Anweisung
hauptstadt.datenAnzeigen().
1
2
3
4
5
6
public void datenAnzeigen (){
System .out. println (" Landesdatendaten :\n
******************* ");
System .out. println (" Staatsoberhaupt ");
staatsoberhaupt . datenGeben ();
hauptstadt . datenAnzeigen ();
System .out. println ("Ende Landesdatendaten
:\n ************************** ");
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
11 / 16
Aggregation und Referenzen
1
2
Umsetzung in Java
Übungen
Ü 1.1: Die Klassen Land und Stadt
(a) Passe die Klassen Land und Stadt nach obigen Vorgaben an und
teste die Klassen ausführlich.
(b) Das Klassendiagramm soll um die Klasse PERSON erweitert
werden.
Ergänze das Klassendiagramm mit yEd. Welche Attribute aus Land
bzw. Stadt werden Referenzattribute? ((Vorlage
KDStadtLand.graphml))
Implementiere die Klasse PERSON vollständig ((Attribute, GetterSetter-Methoden, Methode datenAnzeigen()))
Passe die Klassen Land und Stadt an die neue Situation an.
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
12 / 16
Aggregation und Referenzen
1
2
Umsetzung in Java
Übungen
Ü 1.2: BuchAutorVerlag
Implementiere das Java-Projekt nach folgender Vorlage:
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
13 / 16
1
Aggregation und Referenzen
2
Umsetzung in Java
Beispiel — Ampel
Aggregation
Objekte (hier Ampel) können als
Attribute andere Objekte (hier
Rechteck und Kreis) enthalten.
Im Klassendiagramm wird das
durch einen Verbindungslinie
mit einer Raute bei der
Aggregation symbolisiert. An
der Seite der Referenzattribute
wird die Anzahl der
enthaltenene Objekte
angegeben.
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
14 / 16
2
Sequenzdiagramme
Gliederung
1 Aggregation und Referenzen
1.1 Begriffsbildung
1.2 Umsetzung in Java
2
Sequenzdiagramme
M. Jakob (Gymnasium Pegnitz)
Beziehungen zwischen Objekten
2. Februar 2015
15 / 16
Herunterladen