UML: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Ruzzoli (Diskussion | Beiträge)
Ruzzoli (Diskussion | Beiträge)
Zeile 147: Zeile 147:
}
}
</graphviz>
</graphviz>
===== Navigierbarkeit =====
Navigierbarkeit ist ein wichtiges Konzept der Objektorientierten Programmierung, hierbei geht es um die Frage, welche Klassen von einer anderen Klasse aus erreichbar sind. D.h. dass eine Klasse A von der aus zu einer Klasse B navigiert werden können soll entsprechende Vorkehrungen treffen muss um dies möglich zu machen. Ein einfacher Weg besteht darin eine entsprechende Referenz auf die Klasse B in der Klasse A abzulegen.
UML erlaubt wiederum eine grafische Repräsentation dieses Konzepts. Die jeweiligen Enden einer Assoziation können mit Symbolen versehen werden, die Aussagen über die Navigierbarkeit der Klassen machen:
<graphviz>
digraph Navigation {
edge [
    fontname = "Bitstream Vera Sans"
    fontsize = 12
        ]
        node [
        fontname = "Bitstream Vera Sans"
    fontsize = 8
            shape = "record"
        ]
        Auto_N [
                label = "{Auto||\l}"
        ]
Fahrer_N [
                label = "{Fahrer||\l}"
        ]
        Auto_N -> Fahrer_N [
                arrowhead = "none"
                arrowtail = "none"
        ]
       
        Auto_A [
                label = "{Auto||\l}"
        ]
Fahrer_A [
                label = "{Fahrer||\l}"
        ]
        Auto_A -> Fahrer_A [
                arrowhead = "vee"
                arrowtail = "none"               
        ]
        Auto [
                label = "{Auto||\l}"
        ]
Fahrer [
                label = "{Fahrer||\l}"
        ]
        Auto -> Fahrer [
                arrowhead = "none"
                arrowtail = "none"
                headlabel = "X  "
        ]
}
</graphviz>
Von Links nach Rechts haben wir im obigen Beispiel folgende drei Fälle:
# Keine Aussage über die Navigierbarkeit
# Navigieren vom Auto zum Fahrer möglich
# Navigieren vom Auto zum Fahrer nicht möglich


== Links ==
== Links ==
Abgerufen von „https://sopranium.de/UML