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

Preview:

Citation preview

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

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 2privat

Eigenschaft 2

Ham EST

Objekt• konkrete Ausprägung einer Klasse

• Instanz einer Klasse

• belegt Speicherplatz

Eigenschaft 2

„Schutzhülle“

Methode 1

Eigenschaft 1

Methode 2privat

Ham EST

Merke:

Durch Instanzierung wird aus der Klasse ein Objekt gebildet !

Instanzieren

KlasseObjekt

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 1Methode 2

Eigenschaft 1Eigenschaft 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

Fütterung

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“

Recommended