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-10-03 11:49] – [Objekt-Orientierte Programmierung (OOP)] wichtige Diagramme marco.bakera | schule:objekt-orientierte_programmierung [2019-12-24 13:29] (aktuell) – Klassendiagramm ausgelagert marco.bakera | ||
---|---|---|---|
Zeile 11: | Zeile 11: | ||
Einige dieser Diagramme werden in den folgenden Abschnitten beschrieben. | Einige dieser Diagramme werden in den folgenden Abschnitten beschrieben. | ||
+ | |||
===== Ein Beispiel: Max und Moni ===== | ===== Ein Beispiel: Max und Moni ===== | ||
Zeile 47: | Zeile 48: | ||
===== Klassendiagramme ===== | ===== Klassendiagramme ===== | ||
- | Gleichartige Objekte haben Eigenschaften (Attribute) gemeinsam. Diese Gemeinsamkeiten werden in Klassen zusammengefasst. Zusätzlich haben Klassen | + | → [[Klassendiagramm]] |
- | + | ||
- | ==== Aufbau und Zweck ==== | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | * Warum? Um Übersicht über ein komplexes Programm zu erhalten. | + | |
- | * Für jede Klasse wird ein Kasten gezeichnet. | + | |
- | * Der Kasten hat drei Bereiche: | + | |
- | - oben steht der Klassenname | + | |
- | - in der Mitte stehen die Attribute | + | |
- | - unten stehen die Methoden | + | |
- | * Rückgabewerte von Methoden und Datentypen von Attributen und Parametern stehen am Ende und sind durch einen Doppelpunkt getrennt. | + | |
- | * Sichtbarkeiten public/ | + | |
- | * Beziehungen zwischen Klassen lassen sich darstellen: " | + | |
- | + | ||
- | === Klassen in C# und Python === | + | |
- | Klassen werden in C# mit dem Schlüsselwort '' | + | |
- | + | ||
- | <code csharp> | + | |
- | class Person | + | |
- | { | + | |
- | string name; | + | |
- | int alter; | + | |
- | + | ||
- | public string erfrageName() | + | |
- | { | + | |
- | return name; | + | |
- | } | + | |
- | + | ||
- | public int erfrageAlter() | + | |
- | { | + | |
- | return alter; | + | |
- | } | + | |
- | + | ||
- | public void alterFestlegen(int neuesAlter) | + | |
- | { | + | |
- | alter = neuesAlter; | + | |
- | } | + | |
- | + | ||
- | public void laufen() | + | |
- | { | + | |
- | // ... | + | |
- | } | + | |
- | public void essen(Nahrung nahrungsMittel) | + | |
- | { | + | |
- | nahrungsmittel.aufessen(); | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | Klassen werden in Python mit dem Schlüsselwort '' | + | |
- | + | ||
- | <code python> | + | |
- | class Person: | + | |
- | + | ||
- | def __init__(self): | + | |
- | self.name = "" | + | |
- | self.alter = 0 | + | |
- | + | ||
- | def erfrage_Name(self): | + | |
- | return self.name | + | |
- | + | ||
- | def erfrage_Alter(): | + | |
- | return self.alter | + | |
- | + | ||
- | def alter_Festlegen(self, | + | |
- | self.alter = neues_Alter | + | |
- | + | ||
- | def laufen(): | + | |
- | # ... | + | |
- | pass | + | |
- | + | ||
- | def essen(self, nahrungsMittel): | + | |
- | nahrungsmittel.aufessen() | + | |
- | </ | + | |
- | + | ||
- | //Kapitel 8: Objektorientierte Programmierung// | + | |
- | + | ||
- | ==== Klassendiagramme in Visual Studio ==== | + | |
- | + | ||
- | Visual Studio unterstützt den Entwickler, da es Klassendiagramme nahtlos in die Entwicklungsumgebung integriert. | + | |
- | + | ||
- | < | + | |
- | <iframe src="// | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ==== Klassendiagramme für Python ==== | + | |
- | + | ||
- | Mit dem Programm '' | + | |
- | + | ||
- | Ein Klassendiagramm wird mit dem folgenden Aufruf erstellt | + | |
- | + | ||
- | pyreverse -o png -f ALL quelltext.py | + | |
- | + | ||
- | Die Option '' | + | |
===== Sequenzdiagramme ===== | ===== Sequenzdiagramme ===== | ||
- | [[wpde> | ||
- | {{: | + | → [[Sequenzdiagramm]] |
- | Für ein konkretes Beispiel sieht es folgendermaßen aus. | ||
- | {{: | ||
- | |||
- | * Sie dienen z. B. der Dokumentation komplexer Abläufe, an denen viele Objekte beteiligt sind | ||
- | * Jedes Objekt erhält eine eigene Lebenslinie, | ||
- | * Name und Typ des Objektes -- getrennt durch einen Doppelpunkt -- werden an den Kopf der Lebenslinie geschrieben. Ist der Name nicht relevant, kann er entfallen. | ||
- | * Pfeile zu den Objekten beschreiben Methoden, die auf diesen Objekten aufgerufen werden. Die Pfeilspitze zeigt auf das Objekt, zu dem die Methode gehört. | ||
- | |||
- | Unter [[https:// | ||
===== Aktivitätsdiagramme ===== | ===== Aktivitätsdiagramme ===== | ||
- | {{: | ||
- | Das [[wpde>Aktivitätsdiagramm]] | + | → [[Aktivitätsdiagramm]] |
- | Programm-Ablauf-Plan eine Funktionalität bzw. Aktivität in einem Programm. Einzelne // | + | |
- | Details stehen in [[https:// | + | ===== Links ===== |
- | ===== Links ===== | ||
- | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[http:// | * [[http:// |
schule/objekt-orientierte_programmierung.1475488167.txt.gz · Zuletzt geändert: 2017-04-19 08:39 (Externe Bearbeitung)