Inhaltsverzeichnis

OOP-Prinzipien-Objekte

OOP-Prinzipien-Objekte

Einführung

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.

Implementiert in C#:

public class Fisch { private int _alter; private int _länge; public Fisch(int alter, int länge) { _alter = alter; _länge = länge; } public void Essen() { } public void Schwimmen() { } }

UML Diagramm

UML Klasen Diagramm - Fisch

Sichtbarkeiten

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.

Vererbung

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:

public class Tier{ public void Essen(){} } public class Fisch : Tier { private int _alter; private int _länge; public Fisch(int alter, int länge) { _alter = alter; _länge = länge; } public void Essen() { } public void Schwimmen() { } }

UML Diagramm

uml diagram vererbung

Aggregation

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.

public class Mannschaft { public List spieler; public Mannschaft(List spieler) { this.spieler = spieler; } } public class Spieler { }

Beziehung zwischen Mannschaft und Spieler

UML Klassendiagramm mit PlantUML erstellen

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:


class Fisch
class Tier

Anschließend können Sie die Attribute jeder Klasse mit dem Schlüsselwort "field" und dem Typ und dem Namen des Attributs definieren. Beispiel:

class Fisch { field int Alter field double Länge } class Tier { field string Name field char Geschlecht }

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:

class Tier { field string name field int alter } class Fisch extends Kunde { field double Länge }

Aggregation in PlantUML

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.

@startuml class Mannschaft class Spieler Spieler --o Mannschaft @enduml

PlantUML in IntelliJ / PyCharm / Webstorm / CLion verwenden

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:

  1. Öffnen Sie IntelliJ und gehen Sie zu "File -> Settings -> Plugins".
  2. Geben Sie im Suchfeld "PlantUML" ein und wählen Sie das Plug-In aus der Liste aus.
  3. Klicken Sie auf "Installieren" und warten Sie, bis der Installationsvorgang abgeschlossen ist. Sie müssen möglicherweise IntelliJ neu starten, um das Plug-In zu aktivieren.
  4. Erstellen Sie ein neues Projekt oder öffnen Sie ein bestehendes Projekt in IntelliJ.
  5. Erstellen Sie eine neue Datei mit der Endung ".puml". Sie können dies tun, indem Sie im Projektfenster mit der rechten Maustaste auf den gewünschten Ordner klicken und "New -> File" auswählen.
  6. Geben Sie in der Datei den PlantUML-Code für Ihr Klassendiagramm ein. Sie können die Syntax von PlantUML verwenden, um Klassen, Attribute und Beziehungen zu definieren.
  7. Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie "Render PlantUML Diagram" aus dem Kontextmenü.
  8. Das Klassendiagramm wird im IntelliJ-Editor angezeigt. Sie können es bearbeiten und speichern, indem Sie auf das Diagramm doppelklicken und die Änderungen vornehmen.

No items found.

Häufig gestellte Fragen:

Weitere Artikel:

Tobias Bück

Meine Leidenschaft für die Programmierung begleitet mich schon seit vielen Jahren und ich bin stolz darauf, mein Wissen und meine Erfahrungen in der Entwicklung von Softwarelösungen nutzen zu können, um meinen Kunden maßgeschneiderte Lösungen anzubieten. Besonders gut kenne ich mich mit dem OTOBO Ticketsystem aus und bin in der Lage, damit auch komplexe Probleme zu lösen. Neben meiner Arbeit als Geschäftsführer, genieße ich es in meiner Freizeit zu joggen. Die Bewegung in der Natur tut mir gut und hilft mir dabei, mich zu entspannen und neue Energie zu tanken. Obwohl ich meinen Lebensmittelpunkt in Karlsruhe habe, verbringe ich auch gerne Zeit in meiner Heimatstadt Mainz, um Freunde und Familie zu besuchen. Das Internet ermöglicht es mir, meine Hilfe auch Menschen aus der ganzen Welt anzubieten. Ich freue mich, mein Wissen zu teilen und anderen bei ihren Projekten und Problemen zu helfen. Es bereitet mir Freude, wenn ich dabei helfen kann, dass Ideen und Projekte erfolgreich umgesetzt werden können.
tobias.bueck@softoft.de
Zuletzt Aktualisiert
26.12.2022

Kontakt:

Gerne vereinbaren wir ein Beratungsgespräch

info@softoft.de
Wir Freuen Uns Über Deine Nachricht!
Bitte gebe Kontaktdaten an über die wir dich erreichen können
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Email Schreiben