Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:
Ham EST Schmatz.. Fressen
Ham EST Schmatz.. Fressen
Ham EST Schmatz.. Fressen
Ham EST Schmatz.. Fressen
Ham EST
Was hat das Schwein mit OOP zu tun ?
Ham EST Begriffe der OOP Objekt (object) Klasse (class) Methode (method) Eigenschaft (property) Ereignis (event) Nachrichten (message)
Ham EST Klasse Beschreibung (Bauplan) eines Objekts Deklaration (und Definition) der Variablen (Eigenschaften) Festlegung der Methoden Schutzhülle Methode 1 Eigenschaft 1 Methode 2 privat Eigenschaft 2
Ham EST Objekt konkrete Ausprägung einer Klasse Instanz einer Klasse belegt Speicherplatz Eigenschaft 2 Schutzhülle Methode 1 Eigenschaft 1 Methode 2 privat
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 1 Objekt 2 Objekt n
Ham EST Objekt mit Nachricht Nachricht wirkt auf Methode Nachricht (Ereignis) Methode 1 Methode 2 Eigenschaft 1 Eigenschaft 2
Ham EST Methode kann auf private Daten (Eigenschaften) zugreifen Eigenschaft y wird von Nachrichten oder Ereignis angestossen ändert den Zustand des Objektes kann Nachrichten versenden Nachricht Objekt Nachricht senden Methode x Ereignis
Ham EST Beispiel:Schwein fressen Gewicht Nachricht für Schwein Schmatz... Nachricht vom Schwein
Ham EST Vererbung am Beispiel Lebewesen M1 E1 Baum M1 E1 M2 Tier M1 E1 M3 Strauch M1 E1 M2 Pflanze M1 E1 M2 Fisch M1 E1 M3 E2 Säugetier M1 E1 M3 E2 Mensch M1 E1 M3 E2 Schwein M1 E1 M3 E3
Ham EST Polymorphismus Objekt 1 Objekt 2 Nachricht
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 Konzept: Datenkapselung Vererbung Polymorphismus Vorteile: Qualitätssteigerung Wiederverwertbarkeit Übersichtlichkeit Wartbarkeit Kostenreduktion 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 }; 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; } 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(); } 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 OOP-Codierung in C am Beispiel Schwein