Diese Lektion ist eine vollständige Referenztabelle über alle Elemente eines UML-Klassendiagramms – zum Nachschlagen und Wiederholen. Zu jedem Begriff findest du eine kurze Erklärung und ein Diagrammbeispiel; die häufigsten Stolpersteine stehen jeweils gesammelt unter der Tabelle.
| Name | Beschreibung | Beispiel |
|---|---|---|
| Klasse | Der Bauplan, aus dem beliebig viele Objekte entstehen können. |
Hund
-name : String
+bellt()
|
| Objekt | Ein konkretes Exemplar einer Klasse mit festen Attributwerten. | Bello : Hund -name = „Bello“ |
| Attribut | Eine Eigenschaft, die den Zustand eines Objekts beschreibt. | -name : String |
| Methode | Eine Fähigkeit bzw. Aktion, die ein Objekt ausführen kann. | +bellt() |
| Name | Beschreibung | Beispiel |
|---|---|---|
| Abstraktion | Unwichtige Details weglassen, nur das Wesentliche/Gemeinsame betrachten. | Bello (Objekt) → Hund (Klasse) |
| Vererbung | Eine Unterklasse übernimmt automatisch Attribute/Methoden ihrer Oberklasse. |
Tier
Hund
|
| Kapselung | Daten vor unkontrolliertem Zugriff schützen; Attribute privat, Methoden öffentlich. |
-kontostand : float
+einzahlen(betrag: float)
|
| Polymorphie | Gleicher Methodenname, unterschiedliches Verhalten je nach Klasse (Overriding). | Hund.fortbewegen() → „rennt“ Vogel.fortbewegen() → „fliegt“ |
| Name | Beschreibung | Beispiel |
|---|---|---|
| public (+) | Von überall zugreifbar. Meist bei Methoden. | +bellt() |
| protected (#) | Zugreifbar innerhalb der Klasse und ihrer Unterklassen. | #alter : int |
| private (-) | Nur innerhalb der eigenen Klasse zugreifbar. Meist bei Attributen. | -name : String |
| Name | Beschreibung | Beispiel |
|---|---|---|
| Datentyp | Legt fest, welche Art von Wert ein Attribut speichern darf. | -alter : int |
| Standardwert | Anfangswert, den ein Attribut ohne weitere Angabe besitzt. | -alter : int = 0 |
| Parameter | Information, die eine Methode beim Aufruf entgegennimmt. | +laufen(distanz: float) |
| Rückgabewert | Wert, den eine Methode nach Ausführung zurückliefert. | +gewicht(): float |
| Name | Beschreibung | Beispiel |
|---|---|---|
| Abstrakte Klasse | Gemeinsamer Bauplan mehrerer Klassen; wird selbst nie instanziiert. |
Säugetier
{abstract}
|
| Schnittstelle (Interface) | Beschreibt nur gemeinsames Verhalten; keine Attribute, nur Methodensignaturen. |
<<interface>>
Beweglich
|
| Realisierung | Eine Klasse setzt eine Schnittstelle um. Gestrichelte Linie + hohler Pfeilkopf. |
<<interface>>
Beweglich Hund
|
| Name | Beschreibung | Beispiel |
|---|---|---|
| Vererbung | „Ist ein“. Durchgezogene Linie, hohler Pfeilkopf zur Oberklasse. | Hund ──▷ Tier |
| Assoziation | Dauerhafte Beziehung. Durchgezogene Linie, meist als Attribut gespeichert. | Hund ──────── Besitzer |
| Abhängigkeit | Vorübergehende Nutzung, z. B. als Methodenparameter. Gestrichelte Linie. | Hund – – – ▶ Tierarzt |
| Aggregation | Lockere Teil-Ganzes-Beziehung; Teile existieren auch ohne das Ganze. Weiße Raute. | Hund ◇── Halsband |
| Komposition | Starke Teil-Ganzes-Beziehung; Teile existieren nicht ohne das Ganze. Schwarze Raute. | Hund ◆── Herz |
| Name | Beschreibung | Beispiel |
|---|---|---|
| Kann-Beziehung | Beginnt mit 0 – die Beziehung ist optional. | Hund ──── Spielzeug 0..* |
| Muss-Beziehung | Beginnt mit 1 – mindestens ein Objekt ist erforderlich. | Hund ──── Mikrochip 1 |
| Beliebiger Bereich | UML erlaubt beliebige Wertebereiche, nicht nur 1/n wie im ER-Modell. | 2..5, 1..*, 0..1 … |
Ein UML-Klassendiagramm besteht aus Klassen (mit Attributen und Methoden), Sichtbarkeiten, und Beziehungen zwischen Klassen. Die meisten Fehler entstehen an denselben Stellen: vertauschte Pfeilrichtungen, verwechselte Rautenfarben und vergessene gestrichelte Linien. Wer diese Tabelle im Kopf hat, hat die häufigsten Stolpersteine bereits im Blick.