Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:objekt-orientierte_programmierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
schule:objekt-orientierte_programmierung [2016-07-12 08:16] – [Klassendiagramm für Python] marco.bakeraschule:objekt-orientierte_programmierung [2019-12-24 13:24] – [Aktivitätsdiagramme] verschoben marco.bakera
Zeile 4: Zeile 4:
  
 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. 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):  Class Diagram, Package Diagram, (selten Object Diagram)
 +
 +Einige dieser Diagramme werden in den folgenden Abschnitten beschrieben.
  
 ===== Ein Beispiel: Max und Moni ===== ===== Ein Beispiel: Max und Moni =====
Zeile 41: Zeile 48:
 ===== Klassendiagramme ===== ===== Klassendiagramme =====
  
-Gleichartige Objekte haben Eigenschaften (Attributegemeinsam. Diese Gemeinsamkeiten werden in Klassen zusammengefasst. Zusätzlich haben Klassen [[Methoden]], die aufgerufen werden können. Alle Objekte einer Klasse haben den gleichen Aufbau und verhalten sich ähnlich. Man kann sie übersichtlich in [[wpde>Klassendiagramm|Klassendiagrammen]] darstellen.+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 [[Methoden]], die aufgerufen werden können. Alle Objekte einer Klasse haben den gleichen Aufbau und verhalten sich ähnlich. Man kann sie übersichtlich in [[wpde>Klassendiagramm|Klassendiagrammen]] darstellen.
  
 ==== Aufbau und Zweck ==== ==== Aufbau und Zweck ====
Zeile 92: Zeile 99:
 </code> </code>
  
-Klassen werden in Python mit dem Schlüsselwort ''class'' beschrieben. Attribute werden im Konstruktor ''<nowiki>__init__(self)</nowiki>'' mit ''self'' an die erzeugte Instanz gebunden. [[Methoden]] haben einen Namen (häufig ein Verb), ggf. Parameter und einen ggf. Rückgabewert.+Klassen werden in Python mit dem Schlüsselwort ''class'' beschrieben. Attribute werden im Konstruktor ''<nowiki>__init__(self)</nowiki>'' mit ''self'' an die erzeugte Instanz gebunden. [[Methoden]] haben einen Namen (häufig ein Verb), ggf. Parameter und ggf. einen Rückgabewert.
  
 <code python> <code python>
Zeile 138: Zeile 145:
      
 Die Option ''-o'' gibt das Ausgabeformat und ''-f'' einen Filter an (ALL zeigt alle Zugriffsebenen: //private, public// und //protected//). Leider ermittelt das Programm keine Rückgabewerte und zeigt auch keine Parameter von Methoden an. Die Option ''-o'' gibt das Ausgabeformat und ''-f'' einen Filter an (ALL zeigt alle Zugriffsebenen: //private, public// und //protected//). Leider ermittelt das Programm keine Rückgabewerte und zeigt auch keine Parameter von Methoden an.
 +
 +==== Klassendiagramme in IHK-Prüfungen ====
 +
 +Klassendiagramme kommen häufig in IHK-Prüfungen vor. So z.B. in //2015, Winter, Handlungsschritt 2//.
  
 ===== Sequenzdiagramme ===== ===== Sequenzdiagramme =====
Zeile 155: Zeile 166:
 Unter [[https://www.websequencediagrams.com/|websequencediagrams.com]] lassen sich Sequenzdiagramme in einem Editor im Browser erstellen. Unter [[https://www.websequencediagrams.com/|websequencediagrams.com]] lassen sich Sequenzdiagramme in einem Editor im Browser erstellen.
 ===== Aktivitätsdiagramme ===== ===== Aktivitätsdiagramme =====
-{{:schule:prog:uml-activity-beispiel2.png?nolink|cc: von Wikipedia-Nutzer Gubaer. }} 
  
-Das [[wpde>Aktivitätsdiagramm]] beschreibt wie ein Struktogramm oder +→ [[Aktivitätsdiagramm]]
-Programm-Ablauf-Plan eine Funktionalität bzw. Aktivität in einem Programm. Einzelne //Aktionen// werden durch abgerundete Kästen dargestellt und mit Pfeilen verbunden. //Verzweigungen// werden durch eine Raute (◊) dargestellt. //Bedingungen// für den weiteren Verlauf des Programms werden in eckigen Klammern an die ausgehenden Kanten notiert. //Objekte//, die von den Aktionen erzeugt oder konsumiert werden, sind als Kästen ohne abgerundete Ecken dargestellt. +
- +
-Details stehen in [[https://tbs1.de/owncloud/public.php?service=files&t=2247927edec78ea54ca13aeb8f12823b|UML Pocket Reference (Acitivity Diagrams)]].+
  
 ===== Links ===== ===== Links =====
-  * [[https://tbs1.de/owncloud/public.php?service=files&t=09e171fc725b1b99d42ac367247840c4|UML-Diagramme (Übersicht)]]+
   * [[https://dzone.com/refcardz/getting-started-uml|UML Reference Card]] - Übersicht der wichtigsten Elemente der UML-Notation.   * [[https://dzone.com/refcardz/getting-started-uml|UML Reference Card]] - Übersicht der wichtigsten Elemente der UML-Notation.
   * [[http://oszhdl.be.schule.de/gymnasium/faecher/informatik/oop/index.htm|Informationen zur OOP]] des Oberstufenzentrum Handel 1.   * [[http://oszhdl.be.schule.de/gymnasium/faecher/informatik/oop/index.htm|Informationen zur OOP]] des Oberstufenzentrum Handel 1.
schule/objekt-orientierte_programmierung.txt · Zuletzt geändert: 2019-12-24 13:29 von marco.bakera