In Objektorientierten Programmiersprachen, wie z.B. Java, C# oder auch C++ gibt es Objekte, deswegen heißt es auch Objektorientiert, da sich alles um Objekte dreht. Objekte haben Attribute und Methode, Attribute geben an in welchem Zustand sich etwas befindet, die Methoden sind Handlungsmöglichkeiten der Objekte.
Beispiel:
Ein Fisch hat als Attribute; Alter = 4; Länge=105 und als Methoden Schwimmen und Essen. Es könnte auch noch ein Fisch mit Alter=2 Länge 22 und Methoden Schwimmen und Essen. Objekte werden auf Basis von Klassen erzeugt. In diesem Beispiel, von der Klasse Fisch, welche das Attribut Alter und das Attribut Länge hat. Ebenfalls definiert die Klasse Fisch die Methoden Schwimmen und Essen.
Je nachdem mit welcher Programmiersprache man programmiert gibt es unterschiedliche Sichtbarkeiten für die Methoden und Attribute. Die wichtigsten sind private und public.
Private kann nur von dem Objekt selbst aufgerufen werden. Public von allen anderen Objekten. Protected unterschiedlich je nach Programmiersprache, sichtbarer als private aber weniger als public. In einigen Programmiersprachen nur in erbenden Klassen zu sehen.
Die Vererbung ist eine Beziehung zwischen zwei Klassen, bei welcher Klasse A alle Attribute und Methoden von Klasse B übernimmt. Es handelt sich dabei um eine "is a" - "ist eine" Beziehung. Zum Beispiel Mineralwasser ist ein Getränk oder ein Haus ist ein Gebäude.
Die Syntax in C # : class Fisch : Tier
In allgemeiner Form class Erbende Klasse : Mutterklasse
Beispiel C# Code:
Bei einer Aggregation sind ein oder mehrere Objekte Teil eines anderen Objekts. Zum Beispiel hat eine Mannschaft viele Mitspieler. Die Komposition hat gegen über der Vererbung den Vorteil, dass diese während der Laufzeit geändert werden kann. Viele Design Patterns versuchen daher Vererbung zu vermeiden und stattdessen die Beziehungen über Aggregationen aufzubauen.
Ein UML (Unified Modeling Language) Klassendiagramm ist eine visuelle Darstellung der Struktur eines Systems, insbesondere der Beziehungen zwischen Klassen und Objekten. Es ist ein nützliches Werkzeug zur Visualisierung und Dokumentation des Designs eines Systems und kann mit verschiedenen Tools erstellt werden, darunter PlantUML.
PlantUML ist ein Open-Source-Tool, mit dem Sie UML-Diagramme mit einer einfachen, textbasierten Sprache erstellen können. Es ist insbesondere für die Erstellung von Klassendiagrammen geeignet, da es eine einfache und intuitive Syntax zur Definition von Klassen, Attributen und Beziehungen bereitstellt.
Um ein Klassendiagramm mit PlantUML zu erstellen, müssen Sie zunächst die Klassen in Ihrem System definieren. Dies kann mit dem Schlüsselwort "class" und dem Namen der Klasse erfolgen. Beispiel:
Anschließend können Sie die Attribute jeder Klasse mit dem Schlüsselwort "field" und dem Typ und dem Namen des Attributs definieren. Beispiel:
Sobald Sie die Klassen und Attribute in Ihrem System definiert haben, können Sie damit beginnen, Beziehungen zwischen ihnen zu erstellen. In einem Klassendiagramm werden diese Beziehungen als Linien dargestellt, die die Klassen verbinden. Es gibt mehrere Arten von Beziehungen, die Sie erstellen können, darunter Vererbung, Aggregation und Assoziation.
Um eine Vererbungsbeziehung zu erstellen, können Sie das Schlüsselwort "extends" und den Namen der Elternklasse verwenden. Beispiel:
Natürlich kann mit PlantUML auch UML Diagramme mit Aggregationen erstellen. Um das Beispiel von oben umzusetzen. Eine Mannschaft hat mehrere Spieler können wir folgenden PlantUML Text angeben.
In IntelliJ können Sie mit PlantUML UML-Klassendiagramme erstellen, indem Sie die PlantUML-Plug-In installieren und verwenden. Hier sind die Schritte, die Sie ausführen müssen: