Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Objektorientiertes Programmieren

Ähnliche Präsentationen


Präsentation zum Thema: "Objektorientiertes Programmieren"—  Präsentation transkript:

1 Objektorientiertes Programmieren
Autor : Wolfgang Zimmer

2 Was ist eine Klasse? Ein Lexikon dient i.a. zur Erläuterung von Begriffen: Stichwort Katze

3 Lexikoneintrag: Eine Katze ist ein Raubtier mit - starken Reißzähnen
- scharfen Krallen, die zum Fangen von Mäusen dienen - dem Mut sich auch an Vögel heranzuwagen - einer Aversion gegen Hunde - einem guten Klettervermögen - usw. ..

4 drei Fragen Damit haben wir bereits eine
„einigermaßen“ klare Vorstellung von einer Katze. Wir können jetzt drei Fragen beantworten :

5 Was ist eine Katze? Was hat eine Katze? Was macht eine Katze?

6 der (Super-) Klasse Was ist eine Katze ?  Ein Raubtier
In Java: eine (Unter-)Klasse der (Super-) Klasse Raubtier

7 Was hat eine Katze ?  Starke Reißzähne Scharfe Krallen Mut
Aversion gegen Hunde Klettervermögen Alter In Java: Attribute

8 Was macht eine Katze ? Sie fängt Mäuse Sie wagt sich an Vögel heran
Sie kämpft mit Hunden Sie klettert auf Bäume Sie altert In Java: Methoden

9 Was hat..... Was macht...... in einer Klasse unter
In Java bringen wir die Antworten auf die drei Fragen Was ist.... Was hat..... Was macht...... in einer Klasse unter

10 für konstruierbare reale Objekte
Eine Klasse ist also ein abstrakter Bauplan für konstruierbare reale Objekte

11 Für diese Diagramme hat sich ein weltweiter Standard
In beschreibenden Texten geht der Überblick über Details schnell verloren. Daher stellen wir die Antworten auf die drei Fragen zunächst in einem Diagramm zusammen. Für diese Diagramme hat sich ein weltweiter Standard   UML (Unified Modeling Language) entwickelt:

12 In der oberen Zelle steht der Klassenname Katze
Das UML-Diagramm besteht aus drei Zellen : In der oberen Zelle steht der Klassenname Katze in fetter Schrift In der mittleren Zelle befinden sich die Antworten auf die Frage Was hat die Katze? In der unteren Zelle finden wir die Antworten Was macht die Katze?

13 Um die Antwort auf die Frage
Was ist eine Katze? darzustellen, zeichnen wir einen durchgezogenen Pfeil zur (verkürzten) Darstellung der Klasse „Raubtier“ Raubtier

14 Katze UML-Diagramm Raubtier der Klasse Katze «constructor»
+ zähne: int + krallen: int + tatzen: int - alter: int + länge: double «constructor» + Katze(int, int, int, int, double) «method» + fangen(Maus): Maus + heranwagen(Vogel): Vogel + kämpfen(Hund): Hund + klettern(Baum) + miauen( )

15 - private Attribute / Methoden
Java unterscheidet öffentliche Attribute / Methoden ( public ) - private Attribute / Methoden ( private )

16 Konstruktoren ist, kann man ein konkretes Objekt
Mit dem Konstruktor, der unter dem Stichwort «constructor» aufgeführt ist, kann man ein konkretes Objekt der Klasse Katze erschaffen: Katze minka = new Katze(16,5,4,2,38);

17 Katze minka = new Katze(16,5,4,2,38); Katze pascha =
16 Zähne, 5 Krallen, 4 Tatzen , 2 Jahre, 38 cm Katze pascha = new Katze(16,5,4,3,34); 16 Zähne, 5 Krallen, 4 Tatzen , 3 Jahre, 34 cm

18 HUND UML-Diagramm Raubtier der Klasse Hund «constructor»
+ zähne: int + krallen: int + pfoten: int - alter: int + länge: double «constructor» + Hund( int, int, int, int, double ) «method» + fressen(Futter) + beißen(Katze): Katze + bewachen(Haus) + bellen( )

19 Hund sunny = new Hund(24,5,4,5,61); Hund toby =
24 Zähne, 5 Krallen, 4 Tatzen , 5 Jahre, 61 cm Hund toby = new Hund(24,5,4,9,102); 24 Zähne, 5 Krallen, 4 Tatzen , 5 Jahre, 102 cm

20 Der Aufruf von Methoden :
sunny.bellen; minka.miauen; sunny.beißen(minka); minka.kämpfen(sunny); Sunny.beißen(minka).kämpfen(sunny);

21 Die Werte von Feldern abfragen:
int k_vorher = minka.krallen; sunny.beißen(minka).kämpfen(sunny); int k_nachher = minka.krallen; Der Wert k_nachher – k_vorher liefert die Anzahl der beim Kampf eingebüßten Krallen.

22 Statische Attribute / Methoden
In JAVA static Statische Attribute und Methoden sind in allen existierenden Objekten einer Klasse identisch ! Im UML-Diagramm werden sie unterstrichen !

23 UML-Diagramm der Klasse Hund mit Klassenattributen und Klassenmethoden
Raubtier UML-Diagramm der Klasse Hund mit Klassenattributen und Klassenmethoden HUND + zähne: int + krallen: int + pfoten: int - alter: int + länge: double «constructor» + Hund( int, int, int, int, double ) «method» + fressen(Futter) + beißen(Katze): Katze + bewachen(Haus) + bellen( )

24 Hund sunny = new Hund(24,5,4,5,61); sunny
Hund sunny = new Hund(24,5,4,5,61); sunny.fressen(Knochen) Dann fressen mit sunny alle Hunde Knochen. Mit sunny haben dann alle Hunde 4 Pfoten und kein Hund kann eine Pfote verlieren.

25 Das war ein erster Einblick in Objektorientiertes Arbeiten


Herunterladen ppt "Objektorientiertes Programmieren"

Ähnliche Präsentationen


Google-Anzeigen