270 likes | 550 Views
Beginnen wir.... mit einer Geschichte:. Das Schwein. Fressen. Schmatz. Fressen. Schmatz. Fressen. Schmatz. Fressen. Schmatz. Fressen. Schmatz. Was hat das Schwein mit OOP zu tun ?. Begriffe der OOP. Eigenschaft (property). Objekt (object). Methode (method). Klasse (class).
E N D
Beginnen wir.... mit einer Geschichte: Das Schwein Fressen Schmatz.. Ham EST
Fressen Schmatz.. Ham EST
Fressen Schmatz.. Ham EST
Fressen Schmatz.. Ham EST
Fressen Schmatz.. Ham EST
Begriffe der OOP Eigenschaft (property) Objekt (object) Methode (method) Klasse (class) Nachrichten (message) Ereignis (event) Ham EST
Methode 1 Methode 2 Klasse • Beschreibung (Bauplan) eines Objekts • Deklaration (und Definition) der Variablen (Eigenschaften) • Festlegung der Methoden Eigenschaft 2 Eigenschaft 1 privat öffentlich „Schutzhülle“ Ham EST
Eigenschaft 2 Eigenschaft 1 privat öffentlich Methode 1 „Schutzhülle“ Methode 2 Objekt • konkrete Ausprägung einer Klasse • Instanz einer Klasse • belegt Speicherplatz Ham EST
Merke: Durch Instanzierung wird aus der Klasse ein Objekt gebildet ! Instanzieren Klasse Objekt Ham EST
Ereignis (event) Ham EST
Nachricht (message) • Kommunikation zwischen den Objekten Objekt 2 Objekt 1 Objekt n Ham EST
Objekt mit Nachricht • Nachricht wirkt auf Methode Eigenschaft 2 Eigenschaft 1 Nachricht (Ereignis) Methode 2 Methode 1 Ham EST
Methode • wird von Nachrichten oder Ereignis angestossen • kann auf private Daten (Eigenschaften) zugreifen • ändert den Zustand des Objektes Nachricht senden • kann Nachrichten versenden Nachricht Objekt Methode x Eigenschaft y Ereignis Ham EST
Beispiel:Schwein Nachricht für Schwein fressen Gewicht Schmatz... Nachricht vom Schwein Ham EST
E1 M1 E1 E1 E1 E1 E1 Lebewesen M1 M1 M1 M1 M1 M3 M3 M3 M3 M3 Schwein Säugetier Fisch Tier Mensch E1 E1 E1 E2 E2 E2 M1 M1 M1 M2 M2 M2 Pflanze Strauch Baum Vererbung am Beispiel E3 Ham EST
Polymorphismus Nachricht Objekt 1 Objekt 2 Ham EST
Polymorphismus Gleiche Nachricht führt je nach Objekt zu unterschiedlichen Methoden Objekt 1 Objekt 2 Ham EST
Zusammenfassung über OOP Konzept: Datenkapselung Vererbung Polymorphismus Vorteile: Qualitätssteigerung Wiederverwertbarkeit Übersichtlichkeit Wartbarkeit Kostenreduktion Ham EST
OOP-Codierung in C++ am Beispiel „Schwein“ class Schwein { private: int groesse; int gewicht; public: void fressen (void); void bewegen (void); void gewicht_anzeigen(void); Schwein (int,int); //Konstruktor ~Schwein(); //Destruktor }; Ham EST
Schwein::Schwein(int gr,int ge) //Konstruktor { groesse=gr; gewicht=ge; cout<<"Schwein lebt !"<<endl; } void Schwein::fressen(void) { groesse++; gewicht++; } Ham EST
void Schwein::bewegen(void) { gewicht--; } void Schwein::gewicht_anzeigen(void) { cout<<gewicht<<endl; } Schwein::~Schwein() //Destruktor { cout <<"Schwein tot !"<<endl; } Ham EST
Schwein Mathilde(30,40); //Schwein Mathilde mit einer //Größe von 30 und mit einem //Gewicht von 40 kreiert void main (void) { Mathilde.gewicht_anzeigen(); Mathilde.fressen(); Mathilde.gewicht_anzeigen(); } Ham EST