Uml Class Diagram Method Returns Object
Klassendiagramm
Elemente deklarieren
| 🎉 Copied! | |
Beziehungen zwischen Klassen
Beziehungen zwischen Klassen werden mit den folgenden Symbolen gekennzeichnet: | Type | Symbol | Drawing |
| Extension | <|-- | |
| Composition | *-- | |
| Aggregation | o-- | |
-- durch .. zu ersetzen, um eine gepunktete Linie zu erhalten. Wenn man diese Regeln kennt, ist es möglich, die folgenden Zeichnungen zu zeichnen:
| 🎉 Copied! | |
| 🎉 Copied! | |
| 🎉 Copied! | |
Beschriften von Beziehungen
Beziehungen können beschriftet werden, durch das Anhängen eines Doppelpunktes : gefolgt von dem Beschriftungstext. Um Kardinalität anzuzeigen, verwendet man doppelte Anführungszeichen "" auf jeder Seite der Beziehung.
| 🎉 Copied! | |
< oder nach der Beschriftung > verwendet.
| 🎉 Copied! | |
Methoden hinzufügen
Um Feldern und Methoden zu einer Klasse hinzuzufügen, wird der Doppelpunkt : gefolgt von dem Namen des Feldes oder der Methode verwendet. Das System erkennt anhand der Klammern, ob es sich um eine Methode oder um ein Feld handelt.
| 🎉 Copied! | |
{} zu gruppieren Die Syntax ist sehr flexibel bezüglich der Reihenfolge der Typen und Namen.
| 🎉 Copied! | |
{field} und {method} verwenden, um das Standardverhalten des Parsers bei Feldern und Methoden zu übersteuern.
| 🎉 Copied! | |
Sichtbarkeit festlegen
Beim Definieren von Methoden und Feldern kann die Sichtbarkeit mit einem der folgenden Zeichen festgelegt werden: | Character | Icon for field | Icon for method | Visibility |
- | | | private |
# | | | protected |
~ | | | package private |
+ | | | public |
| 🎉 Copied! | |
skinparam classAttributeIconSize 0 Befehl kann dieses Verhalten ausgeschaltet werden :
| 🎉 Copied! | |
WARNING
This translation need to be updated.WARNING
Abstract und Static
Sie können statische oder abstrakte methoden und statische Attribute durch benutzen des {static} oder {abstract} Modifikators definieren. Diese Modifikatoren können am Anfang oder am Ende der Zeile benutzt werden. Es kann auch {classifier} statt {static} benutzt werden.
| 🎉 Copied! | |
Der Klassenrumpf für Fortgeschrittene
Standardmäßig werden die Methoden und Felder im Klassenrumpf automatisch von PlantUML gruppiert. Mit Hilfe von Trennzeichen können Felder und Methoden aber auch selber geordnet werden. Folgende Trennzeichen sind möglich: -- (einfache durchzogene Linie), .. (einfache unterbrochene Linie), == (doppelte durchzogene Linie, __ (dicke durchzogene Linie). Es können auch Titel innerhalb des Trennzeichen angegeben werden:
| 🎉 Copied! | |
Notizen und Stereotypen
Stereotypen werden mit dem Schlüsselwort class oder mit den Symbolen << (doppelte spitze Klammer links) und >> (doppelte spitze Klammer rechts) definiert. Zwischen den Klammern wird der Name des Stereotyps angegeben. Mit den note left of , note right of, note top of , note bottom of Schlüsselwörtern kann man Notizen und ihre Position festlegen. Eine Notiz zur zuletzt definierten Klasse wird mit den Schlüsselwörtern note left, note right,note top, note bottom hinzugefügt. Eine Notiz kann aber auch nur mit dem note Schlüsselwort erstellt werden und dann mit dem .. Symbol den Klassen zugeordnet werden.
| 🎉 Copied! | |
Mehr zu Notizen
Es ist auch möglich einige HTML Tags wie: -
<b> -
<u> -
<i> -
<s>,<del>,<strike> -
<font color="#AAAAAA">or<font color="colorName"> -
<color:#AAAAAA>or<color:colorName> -
<size:nn>to change font size -
<img src="file">or<img:file>: the file must be accessible by the filesystem
note left, note right, note top oder note bottom erstellt werden.
| 🎉 Copied! | |
WARNING
This translation need to be updated.WARNING
Note on field (field, attribute, member) or method
It is possible to add a note on field (field, attribut, member) or on method. ⚠ Constraint
- This cannot be used with
toporbottom(onlyleftandrightare implemented) - This cannot be used with namespaceSeparator
::
Note on field or method
| 🎉 Copied! | |
Note on method with the same name
| 🎉 Copied! | |
Notizen zu Beziehungen
Eine Notiz zu einer Beziehung kann direkt nach der Beziehungsdefinition erfolgen: note on link. Zur relativen Positionierung der Notiz können die Schlüsselwörter note left on link, note right on link, note top on link, note bottom on link verwendet werden.
| 🎉 Copied! | |
Abstrakte Klassen und Interfaces
Eine abstrakte Klasse lässt sich über das abstract oder das abstract class Schlüsselwort definieren. Die Klasse wird dann kursiv gedruckt. Man kann auch die interface, annotation und enum Schlüsselwörter verwenden.
| 🎉 Copied! | |
WARNING
This translation need to be updated.WARNING
Verwendung von Sonderzeichen
Wenn sie in dem Name Ihrer Klasse (oder des Enums, oder der Schnittstelle) Zeichen verwenden wollen, dann gibt es die folgenden Möglichkeiten: - Verwenden Sie das
asSchlüsselwort in der Definition - Schließen Sie den Namen in Hochommas
""ein
| 🎉 Copied! | |
Verstecken von Attributen, Methoden ...
Die Anzeige einer Klasse kann über das hide/show Kommando parametrisiert werden. Der Basisbefehl ist hide empty members. Mit diesem Befehl werden leere Atribute und Methoden ausgeblendet. Anstelle von empty members kann man auch die folgenden Befehle verwenden: -
empty fieldsoderrempty attributesfür leere Felder, -
empty methodsfür leere Methoden, -
fieldsoderattributesum Felder auszublenden, auch wenn diese definiert sind, -
methodsum Methoden auszublenden, auch wenn diese definiert sind, -
membersum Methoden und Felder auszublenden, auch wenn diese definiert sind, -
circleum einen in einen Kreis eingeschlossenen Buchstaben vor dem Klassennamen anzuzeigen, -
stereotypeum einen Stereotypen anzuzeigen.
hide oder dem show Schlüsselwort kann man auch noch die folgenden Befehle anfügen: -
classfür alle Klassen, -
interfacefür alle Schnittstellen, -
enumfür alle Enums, -
<<foo1>>für alle Klassen, die mit dem Stereotyp foo1 ausgezeichnet sind, - einen namen einer existierenden Klasse.
show/hide Befehle verketten, um Regeln und ausnahmen festzulegen.
| 🎉 Copied! | |
Verstecken von Klassen
Mit den show/hide Befehlen können Klassen versteckt werden. Dies kann hilfreich sein, wenn man eine große !included Datei verwendet und dann einige Klassen nach dem einbinden der Datei verstecken möchte.
| 🎉 Copied! | |
WARNING
This translation need to be updated.WARNING
Remove classes
You can also use the remove commands to remove classes. This may be useful if you define a large !included file, and if you want to remove some classes after file inclusion.
| 🎉 Copied! | |
Hide or Remove unlinked class
By default, all classes are displayed:
| 🎉 Copied! | |
-
hide @unlinkedclasses:
| 🎉 Copied! | |
- or
remove @unlinkedclasses:
| 🎉 Copied! | |
Verwenden von Generics
Mit spitzen Klammern ( < und >) kann die Verwendung von Generics dargestellt werden.
| 🎉 Copied! | |
skinparam genericDisplay old ausschalten.
Besondere Hervorhebungen
Normalerweise werden Klassen, Schnittstellen, Enums und abstrakte Klassen mit einem hervorgehobenen Buchstaben gekennzeichnet (C, I, E or A). Es ist aber auch möglich eine eigene Hervorhebung zu erstellen wenn man einen Stereotyp definiert. Das wird durch hinzufügen eines einzelnen Buchstabens und einer Farbe so wie im folgenden Beispiel erreicht:
| 🎉 Copied! | |
Pakete
Pakete können über das package Schlüsselwort definiert werden. Auf Wunsch kann außerdem die die Hintergrundfarbe für das Paket festgelegt werden. Dies kann durch den Farbnamen oder den HTML Code geschehen. Es ist möglich, Pakete ineinander zu schachteln.
| 🎉 Copied! | |
Paketarten
Es stehen verschiedene Arten von Paketen zur Verfügung. Welches Paket zur Verwendung kommen soll, kann mit dem Befehl skinparam packageStyle festgelegt werden. Alternativ kann ein Stereotyp in der Paketdefinition verwendet werden.
| 🎉 Copied! | |
| 🎉 Copied! | |
Namensraum
In Paketen ist der Name einer Klasse der eindeutige Bezeichner der Klasse. Das bedeutet, das man nicht zwei Klassen mit dem gleichen Namen in unterschiedlichen Paketen haben kann. In diesem Fall sollte ein Namensraum anstelle eine Pakets verwendet werden. Man kann auf eine Klasse aus einem anderen Namensraum verweisen, in dem man den voll qualifizierten Namen der Klasse angibt. Klassen aus dem Standartnamensraum werden mit einem beginnenden Punkt gekennzeichnet. Beachten Sie, das ein Namensraum nicht explizit festgelegt werden muss: Eine vollqulifizierte Klasse verwendet automatisch den richtigen Namensraum.
| 🎉 Copied! | |
Automatische Erzeugung eines Namensraums
Über folgenden Befehl kann ein anderes Trennzeichen (als der Punkt) definiert werden: set namespaceSeparator ???.
| 🎉 Copied! | |
set namespaceSeparator none deaktiviert werden.
| 🎉 Copied! | |
Lollipop Schnittstellen
Mit der folgenden Syntax kann man Schnittstellen von Klassen definieren: -
bar ()- foo -
bar ()-- foo -
foo -() bar
| 🎉 Copied! | |
Ändern der Pfeilrichtung
Normalerweise werden Beziehungen zwischen Klassen mit zwei Strichen -- definiert und die Klassen werden Vertikal angeordnet. Verwendet man nur einen Strich (oder Punkt), dann werden die Klassen horizontal angeordnet so wie im folgenden Beispiel zu sehen ist:
| 🎉 Copied! | |
| 🎉 Copied! | |
left, right, up oder down Schlüsselwörter innerhalb der Pfeile zu verändern:
| 🎉 Copied! | |
-d- anstelle von -down-) oder die ersten beiden Buchstaben (-do-) Bitte verwenden Sie diese Möglichkeit nur wenn es unbedingt sein muss: GraphViz liefert normalerweise recht gute Ergebnisse ohne das manuell eingegriffen werden muss. WARNING
This translation need to be updated.WARNING
Assoziationsklassen
Nach dem man eine Beziehung zwischen zwei Klassen definiert hat, kann man eine association class definieren. Hierzu ein Beispiel:
| 🎉 Copied! | |
| 🎉 Copied! | |
Association on same class
| 🎉 Copied! | |
Der Skinparam-Befehl
Mit dem skinparam Befehl kann die Farbe und die Schriftart der Zeichnung verändert werden. Sie können den Befehl auf die folgenden Arten verwenden: - Wie alle ander Befehle In einer Diagrammdefinition,
- in einer Include-Datei,
- In einer Konfigurationsdatei, die durch die Kommandozeile oder den ANT-Task übergeben wird.
| 🎉 Copied! | |
Das Aussehen von Stereotypen verändern
Es ist möglich die Farbe und die Schriftart der Klassen zu verändern, die mit einem Stereotypen ausgezeichnet sind.
| 🎉 Copied! | |
Farbverlauf
Mit der # Notation können individuelle Farben für Klassen oder Notizen definiert werden. Es kann entweder der Standardname der Farbe oder der RGB Code verwendet werden. Für den Hintergrund kann ebenfalls ein Farbverlauf verwendet werden: Zwei Farbnamen getrennt durch: -
|, -
/, -
\, - oder
-
| 🎉 Copied! | |
WARNING
This translation need to be updated.WARNING
Hilfe beim Layout
Manchmal ist das vorgegebene Layout nicht optimal. Sie können das together Schlüsselwort benutzen, um der Layout-Engine die Anweisung zu geben einige Klassen zu gruppieren (ähnlich einem package). Mit hidden Links kann man auch ein Layout erzwingen.
| 🎉 Copied! | |
Große Dateien aufteilen
Manchmal erhält man sehr große Bilddateien.Mit dem page (hpages)x(vpages) Befehl kann das erzeugte Bildauf mehrere Dateien verteilt werden: Mit dem page (hpages)x(vpages) Befehl kann das erzeugte Bild auf mehrere Dateien aufgeteilt werden: hpages gibt die Anzahl von horizontalen Seiten an, und vpages gibt die Anzahl von vertikalen Seiten an. Die Verwendung von skinparam Definitionen, ermöglicht die Darstellung von Außenrahmen für mehrseitige Bilder. (Siehe nachfolgendes Beispiel)
| 🎉 Copied! | |
Extends and implements
It is also possible to use extends and implements keywords.
| 🎉 Copied! | |
Bracketed relations (linking or arrow) style
Line style
It's also possible to have explicitlybold, dashed, dotted, hidden or plain relation, links or arrows:- without label
| 🎉 Copied! | |
- with label
| 🎉 Copied! | |
Line color
| 🎉 Copied! | |
Line thickness
| 🎉 Copied! | |
Mix
| 🎉 Copied! | |
Change relation (linking or arrow) color and style (inline style)
You can change the color or style of individual relation or arrows using the inline following notation: -
#color;line.[bold|dashed|dotted];text:color
| 🎉 Copied! | |
Change class color and style (inline style)
You can change the color or style of individual class using the two following notations: -
#color ##[style]color
#color), then line style and line color (##[style]color )
| 🎉 Copied! | |
-
#[color|back:color];header:color;line:color;line.[bold|dashed|dotted];text:color
| 🎉 Copied! | |
| 🎉 Copied! | |
Arrows from/to class members
| 🎉 Copied! | |
| 🎉 Copied! | |
Grouping inheritance arrow heads
You can merge all arrow heads using the skinparam groupInheritance, with a threshold as parameter. GroupInheritance 1 (no grouping)
| 🎉 Copied! | |
GroupInheritance 2 (grouping from 2)
| 🎉 Copied! | |
GroupInheritance 3 (grouping only from 3)
| 🎉 Copied! | |
GroupInheritance 4 (grouping only from 4)
| 🎉 Copied! | |
Source: https://plantuml.com/de/class-diagram
Posted by: frankinmakedaoes.blogspot.com
Posting Komentar untuk "Uml Class Diagram Method Returns Object"