Benutzer-Werkzeuge

Webseiten-Werkzeuge


objektbeziehungen:start

Dies ist eine alte Version des Dokuments!


Objektbeziehungen

Oft bestehen Objekte aus anderen Objekten, z.B. besteht eine Geist-Figur aus einem Bild für den Körper und einem für die Augen: Wir realisieren dies im Programm, indem wir entsprechende Attribute body und eyes der Klasse Sprite in der Klasse Ghost deklarieren und ihnen im Konstruktor entsprechende Objekte zuweisen:

class Ghost {
   private Sprite body;
   private Sprite eyes;
 
   Ghost(double x, double y) {
      body = new Sprite(x, y, SpriteLibrary.PMan, 15);
      eyes = new Sprite(x, y, SpriteLibrary.PMan, 19);
   }

Die Attribute body und eyes nennt man Objektreferenzen.

Instanzieren wir ein neues Ghost-Objekt mit Ghost g = new Ghost(400, 300), so sieht das im Objektdiagramm so aus: Im Klassendiagramm stellen wir so eine Objektbeziehung folgendermaßen dar:



Das Schlüsselwort private vor den Attributdeklarationen besagt, dass auf diese Attribute nur in Methoden der Klasse Ghost zugegriffen werden kann. Das hat einen entscheidenden Vorteil: Die Autorin der Klasse Ghost kann in ihrer Klasse Veränderungen vornehmen (z.B. die Attribute umbenennen oder die Augen durch zwei einzelne Sprites darstellen) und kann trotzdem sicher davon ausgehen, dass alle Programme, die diese Klasse verwenden, weiterhin fehlerfrei laufen. Dieses Vorgehen nennt man Datenkapselung.

objektbeziehungen/start.1673339399.txt.gz · Zuletzt geändert: 2023/01/10 08:29 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki