@startuml– Start der UML-Definition@enduml– Ende der UML-Definition' Kommentar– Einzeiliger Kommentar/' ... '/– Block-Kommentar (nicht gerendert)
package Name {
...
}- Gruppiert Klassen und Enums logisch
class ClassName { }
abstract class ClassNameclass– konkrete Klasseabstract class– abstrakte Klasse
- field : Type
+ Method(param : Type) : ReturnType-private+public:Typisierungsoperator()MethodeReturnTypeRückgabewert
+public-private#protected (nicht im Beispiel verwendet)
Child <|-- Parent<|--Generalisierung / Vererbung- Pfeil zeigt zur Basisklasse
Owner *-- Part : "1"*--starke Besitzbeziehung- Lebenszyklus gebunden
- Kardinalität in Anführungszeichen
Whole o-- Part : "0..*"o--lose Besitzbeziehung- Objekte existieren unabhängig
"1"– genau eins"0..*"– null bis viele"0..4"– begrenzte Anzahl
enum EnumName {
VALUE1
VALUE2
}enum– Aufzählungstyp
List<Type>- rein dokumentativ, keine Logik
- is-a → Vererbung (Generalization)
- has-a → Aggregation
- consists-of → Komposition