25
Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Embed Size (px)

Citation preview

Page 1: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Das Schwein

Schmatz..

Fressen

Beginnen wir....

mit einer Geschichte:

Page 2: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Schmatz..

Fressen

Page 3: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Schmatz..

Fressen

Page 4: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Schmatz..

Fressen

Page 5: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Schmatz..

Fressen

Page 6: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Page 7: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Was hat das Schwein mit OOP zu tun ?

Page 8: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Begriffe der OOP

Objekt (object)

Klasse (class) Methode (method)

Eigenschaft (property)

Ereignis (event)

Nachrichten (message)

Page 9: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Klasse• Beschreibung (Bauplan) eines Objekts

• Deklaration (und Definition) der Variablen (Eigenschaften)

• Festlegung der Methoden

„Schutzhülle“

Methode 1

Eigenschaft 1

Methode 2privat

Eigenschaft 2

Page 10: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Objekt• konkrete Ausprägung einer Klasse

• Instanz einer Klasse

• belegt Speicherplatz

Eigenschaft 2

„Schutzhülle“

Methode 1

Eigenschaft 1

Methode 2privat

Page 11: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Merke:

Durch Instanzierung wird aus der Klasse ein Objekt gebildet !

Instanzieren

KlasseObjekt

Page 12: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Ereignis (event)

Page 13: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Nachricht (message)• Kommunikation zwischen den Objekten

Objekt 1

Objekt 2

Objekt n

Page 14: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Objekt mit Nachricht

• Nachricht wirkt auf Methode

Nachricht (Ereignis)

Methode 1Methode 2

Eigenschaft 1Eigenschaft 2

Page 15: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

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

Page 16: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Beispiel:Schwein

Fütterung

fressen

Gewicht

Nachricht für Schwein

Schmatz...

Nachricht vom Schwein

Page 17: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

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

Page 18: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Polymorphismus

Objekt 1

Objekt 2

Nachricht

Page 19: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Polymorphismus

Gleiche Nachricht führt je nach Objekt zu unterschiedlichen Methoden

Objekt 1

Objekt 2

Page 20: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

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

Page 21: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

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};

Page 22: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

Schwein::Schwein(int gr,int ge) //Konstruktor{ groesse=gr; gewicht=ge; cout<<"Schwein lebt !"<<endl;}

void Schwein::fressen(void){ groesse++; gewicht++;}

Page 23: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

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;}

Page 24: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

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();}

Page 25: Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:

Ham EST

OOP-Codierung in C am Beispiel „Schwein“