Objektorientierte Modellierung

Get Started. It's Free
or sign up with your email address
Objektorientierte Modellierung by Mind Map: Objektorientierte Modellierung

1. Objektorientierte Programmierung

1.1. Die Daten stellen eine Abstraktion der realen Objekte dar. Dieses vorgehen wird Modellierung genannt

1.2. Beim objektorientierten Programmieren werden zusammengehörige Daten und zusammengehöriges Verhalten in Objekten nach den Bauplänen von Klassen zusammengefasst

2. Vererbung

2.1. Vererbung ist hilfreich, wenn mehrere Klassen Gemeinsamkeiten aufweisen (Bsp.: Ein Spieler und ein Trainer haben beide einen Namen)

2.2. Gemeinsamkeiten mehrere Klassen werden in eine Elternklasse ausgelagert.

2.3. Kinderklassen (Bsp.: Elternklasse: Mitglied, Kinderklassen: Spieler, Trainer) können die Attribute und Methoden, sowie Funktionen einer Elternklasse erben (für sich selbst übernehmen)

2.4. Erbt eine Kinderklasse von einer Elternklasse herrscht eine Ist-Ein-Beziehung

2.5. Eine Vererbungshierarchie gibt die Abfolge von Vererbungen an (Kann sich über mehrere Ebene erstrecken)

2.6. Kinderklassen können dir Methoden/Funktionen der Elternklassen neu gestalten bzw. verschieden implementieren

3. Ziele

3.1. Codekapselung

3.1.1. Durch eine Aufteilung von Aufgaben auf verschiedene Methoden, Funktionen und Klassen, sowie durch Vererbung wird eine Dopplung von Programmstücken und Attributen Verhindert.

3.1.1.1. Dadurch kann es nicht so schnell zu Fehlern kommen und Änderungen können schneller getätigt werden

3.2. Verständlichkeit

3.2.1. Durch das Modellieren einer realen Situation gibt es Überschneidungen von Programmcode und unserer Weltanschauung.

3.2.1.1. Dadurch fällt es leichter, sich in den Programmcode einzuarbeiten und ihn zu verstehen

3.3. Unabhängigkeit

3.3.1. Die objektorientierte Modellierung ist unabhängig von Programmiersprachen.

3.3.1.1. Dadurch kann ein UML-Diagramm in nahezu jeder Programmiersprache umgesetzt werden

3.4. Modularität

3.4.1. Durch das betrieben von Codekapselung und Vererbung, ist der Programmcode sehr allgemein gehalten

3.4.1.1. Dadurch ist es möglich Codebausteine mehrfach in verschiedenen Szenarien wiederzuverwenden, ohne diese neu für jedes kleine Szenario schreiben zu müsssen

3.5. Erweiterbarkeit

3.5.1. Durch diese Form der Strukturierung (Modular) eines Projektes ist es möglich den Programm im nachhinein weiterhin zu erweitern

3.6. Zuverlässigkeit

3.6.1. Durch Trennung von Daten und Programmierung

4. UML-Diagramm Bestandteile

4.1. Name

4.1.1. Dieser steht in der obersten Zeile und steht für den Namen der Klasse

4.2. Attribute

4.2.1. Diese stehen in der zweiten Zeile. Dort sind alle Attribute einer Klasse aufgeführt

4.3. Methoden/Funktionen

4.3.1. Diese befinden sich in der dritten Spalte. Sie werden mit Namen, Klammern und in diese mit den zu übergebenden Parametern geschrieben. Dahinter nach einem Doppelpunkt kommt der Rückgabewert der Funktion

4.4. Sichtbarkeiten

4.4.1. Privat

4.4.1.1. Ist ein Attribut, eine Methode oder eine Funktion privat, so wird ein - vor ihr geschrieben

4.4.2. Öffentlich

4.4.2.1. Ist ein Attribut, eine Methode oder eine Funktion öffentlich, so wird ein + vor ihr geschrieben

5. Begriffe - Generell

5.1. Klasse

5.1.1. Gegenstand aus der realen Welt mit Eigenschaften und Aktionen (Bsp.: Mitspieler einer Mannschaft mit Namen, Nummer, ...). Es ist sozusagen der Bauplan für Objekte

5.2. Identität

5.2.1. Jedes Objekt hat eine eindeutige Identität. Gibt es also zwei Objekte mit den gleichen Eigenschaften, so sind es immer noch zwei verschiedene

5.3. Attribut

5.3.1. Ein Attribut ist eine Eigenschaft einer Klasse/ eines Objektes

5.4. Objekt/Instanz

5.4.1. Aus Klassen können neue Objekte erstellt werden. Dabei handelt es sich um eine neue Instanz einer Klasse

5.5. Methode

5.5.1. Eine Methode ist eine Aktion, welche ein Objekt ausführen kann ohne eine Rückgabe zu tätigen

5.6. Funktion

5.6.1. Eine Funktion ist wie eine Methode, welche jedoch eine Rückgabe tätigt. Beispielsweise eine BErechnung

5.7. Pragmatismus

5.7.1. Beschreibt, dass in dem Kontext der Fragestellung das Modell stellvertretend für das reale Objekt stehen kann

5.8. private

5.8.1. Ist ein Attribut oder eine Methode bzw. Funktion private, so kann diese nur innerhalb der eigenen Klasse benutzt werden. Selbst bei einer Vererbung werden diese Daten nicht weitergegeben

5.9. public

5.9.1. Wenn etwas public ist, so kann von anderen Klassen auf dieses Attribut über eine Instanz der Klasse zugegriffen werden. Auch bei einer Vererbung werden diese Daten an die Kindklasse weitergegeben