Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | bruns-agner |
View: | 116 times |
Download: | 2 times |
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“