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-12-20 06:55] – [Klassendiagramme] marco.bakera | schule:objekt-orientierte_programmierung [2019-12-24 12: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 ===== | ||
| - | Häufig stellt man fest, dass es Objekte gibt, die sich in ihren Eigenschaften oder Verhalten (Attributen oder Methoden) ähneln. 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 '' | ||
| - | |||
| - | ==== Klassendiagramme in IHK-Prüfungen ==== | ||
| - | |||
| - | Klassendiagramme kommen häufig in IHK-Prüfungen vor. So z.B. in [[https:// | ||
| ===== 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.1482216938.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
