Beziehungen zwischen Klassen

Klassen bzw. Objekte können auf vielerlei Arten voneinander abhängen:


Binary Association

Beide Klassen kennen einander ...

Image BinAssoc

... als Referenz oder Funktionsargument oder in Container oder ...


Gängiger ist die Unary Association:


A kennt B aber B weiss nichts von A


Image UnAssoc


Aggregation/Composition:


A enthält B: (whole-part relation), z.B. Auto enthält Motor


Image Composition

Subtiler Unterschied zwischen Aggregation und Composition, letztere
kontrolliert lifetime des enthaltenen Objekts \bgroup\color{green}\ensuremath{\Rightarrow}\egroup siehe Literatur


Details der Association:


Vererbung (Inheritance):          




Image Inheritance


Zusammenfassung:

Mit UML Klassendiagrammen kann man Eigenschaften von Klassen, d.h Name, member-variablen, interfaces und Methoden kompakt grafisch darstellen.

Je nach Kontext kann man eine präzise Auflistung aller member-variablen und Methoden mit Argumenten ausgeben oder nur eine unvollständige Liste der relevanten Elemente.

Man kann verschiedene Arten von Beziehungen zwischen Klassen mit UML ausdrücken:

Association, aggregation, composition, inheritance

Die Verbindungen können vage Skizzen sein oder präzise Information über Namen, Rollen, Multiplicities, ... enthalten.

Klassendiagramme beschreiben das statische Design der Programm Struktur.


GDuckeck 2019-08-01