📖💡 Exkurs: Objektdiagramm

Das Objektdiagramm

Ein Objektdiagramm ist im Gegensatz zum Klassendiagramm eine Momentaufnahme eines Programms. Auch für das Objektdiagramm gibt es einen UML Standard. Nachfolgend seht ihr ein Objektdiagramm mit einem einzelnen Objekt.

Quelle: http://mbse.se-rwth.de/book1/index.php?c=chapter4-1

Beispiel

In diesem Beispiel gehen wir das Beispiel aus Aufgabe 11 der Übung C# Grundlagen durch und zeichnen Schritt für Schritt ein Objektdiagramm. Wichtig dabei, das Objektdiagramm ist immer eine Momentaufnahme, es ändert sich also nach jeder Zeile Code, die ausgeführt wurde.

Gegeben sind folgende Klassen:

public class Baum
{
    int _hoehe, _breite;
    
    public Baum(int hoehe, int breite)
    {
        _hoehe = hoehe;
        _breite = breite; 
    }
    public int Hoehe
    {
        get { return _hoehe; }
    }
    public int Breite
    {
        get { return _breite; }
    }
}

public class Punkt
{
    int _x, _y;
    public Punkt(int x, int y)
    {
        _x = x;
        _y = y;
    }
    public int X
    {
        get { return _x; }
        set { _x = value; }
    }
    public int Y
    {
        get { return _y; }
        set { _y = value; }
    }
}

Ausgangslage

string s = "abcd";
int[] a1 = { 1, 2, 3, 4 };
byte b = 56;
Punkt p = new Punkt(a1[0], 100); 
Baum[] ba = new Baum[3];
Baum baum = new Baum(80, 2);

1. Schritt

a1[0] = b;

2. Schritt

ba[1] = new Baum(2, 3); 

3. Schritt

ba[2] = baum;

4. Schritt

Baum neuerBaum = ba[0];

5. Schritt

a1[0] = baum.Hoehe;

6. Schritt

p.Y = baum.Hoehe;

7. Schritt

ba = null;

Da es keine Referenz mehr auf das Baum Array gibt, wird dies irgendwann vom Garbage Collector abgeräumt und aus dem Speicher gelöscht. Dasselbe passiert dann mit dem Objekt unten rechts, da es keine Referenz mehr darauf gibt.

8. Schritt

p.X = s.Length;

So ergibt sich schlussendlich dieses Objektdiagramm:

💡 Aufgabe

Zeichne das Objektdiagramm auf Papier nach der Ausführung des folgenden Codes:

ba = new Baum[] { neuerBaum, baum, new Baum(50, 8) };

Last updated