schule:objekt-orientierte_programmierung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
schule:objekt-orientierte_programmierung [2016-07-12 08:07] – [Klassendiagramm für Python] marco.bakera | schule:objekt-orientierte_programmierung [2019-12-24 13:29] (aktuell) – Klassendiagramm ausgelagert marco.bakera | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Objekt-Orientierte Programmierung (OOP) ====== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Bei der Objekt-Orientierten [[Programmieren|Programmierung]] (kurz OOP) wird das Programm in viele kleine Objekte zerlegt, die sich über Nachrichten miteinander unterhalten. Wie ein Objekte aussieht, wird in seinem Bauplan beschrieben. Diesen Bauplan nennt man Klasse. Er beinhaltet die Attribute und die Methoden. Alle Objekte haben diese Attribute und Methoden. | ||
+ | |||
+ | Objekt-orientiere Software kann mit Hilfe von UML-Diagramme beschrieben (modelliert) werden. Es gibt insgesamt 14 Diagramme für unterschiedliche Anwendungsgebiete. Am wichtigsten sind die folgenden Diagramme: | ||
+ | |||
+ | * Verhalten (Behavior Diagrams): Use Case Diagram, Activity Diagram, Statechart Diagram, Sequence Diagram, ( selten Timing Diagram) | ||
+ | * Struktur (Structural Diagrams): | ||
+ | |||
+ | Einige dieser Diagramme werden in den folgenden Abschnitten beschrieben. | ||
+ | |||
+ | ===== Ein Beispiel: Max und Moni ===== | ||
+ | |||
+ | Es gibt viele Menschen auf der Welt: z.B. Max, 17 Jahre alt und seine Freundin Moni, 18 Jahre alt. Max und Moni unterscheiden sich durch viele Dinge. Aber beide haben einen Namen und ein Alter. Für den Namen würden wir als Datentyp eine Zeichenkette (englisch // | ||
+ | |||
+ | So sehen die beiden Objekte Max und Moni aus, wenn wir sie in einen Computer stecken würden. | ||
+ | |||
+ | ^ __max: Mensch__ | ||
+ | | name: " | ||
+ | | laufen() \\ essen() | ||
+ | |||
+ | ^ __moni: | ||
+ | | name: " | ||
+ | | laufen() \\ essen() | ||
+ | |||
+ | Wie wir sehen, haben Max und Moni viele Gemeinsamkeiten. Diese Gemeinsamkeiten wollen wir nun in einem Bauplan - einer Klasse - zusammenfassen. Der Bauplan für Menschen wie Max oder Moni sieht also wie folgt aus: | ||
+ | |||
+ | ^ Mensch | ||
+ | | name: string\\ alter: | ||
+ | | laufen() \\ essen() | ||
+ | |||
+ | ===== Objektdiagramme ===== | ||
+ | [[wpde> | ||
+ | |||
+ | Das [[http:// | ||
+ | |||
+ | ==== Aufbau und Zweck ==== | ||
+ | {{: | ||
+ | |||
+ | * Objektdiagramme stellen die Objekte eines Programms zu einem bestimmten Zeitpunkt der Programmausführung dar. | ||
+ | * Name und Typ des Objektes werden an den Kopf eines Kastens geschrieben und unterstrichen. | ||
+ | * Attribute und deren Werte werden darunter angegeben. | ||
+ | * Im Gegensatz zum Klassendiagramm werden keine Methoden eingetragen. | ||
+ | * Beziehungen zwischen den Objekten können eingetragen werden. | ||
+ | |||
+ | ===== Klassendiagramme ===== | ||
+ | |||
+ | → [[Klassendiagramm]] | ||
+ | |||
+ | ===== Sequenzdiagramme ===== | ||
+ | |||
+ | → [[Sequenzdiagramm]] | ||
+ | |||
+ | |||
+ | ===== Aktivitätsdiagramme ===== | ||
+ | |||
+ | → [[Aktivitätsdiagramm]] | ||
+ | |||
+ | ===== Links ===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * Werkzeuge zum Zeichnen von UML-Diagrammen sind: [[https:// | ||
+ | * [[http:// | ||