Download
objektorientiertes programmieren n.
Skip this Video
Loading SlideShow in 5 Seconds..
Objektorientiertes Programmieren PowerPoint Presentation
Download Presentation
Objektorientiertes Programmieren

Objektorientiertes Programmieren

245 Vues Download Presentation
Télécharger la présentation

Objektorientiertes Programmieren

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  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. 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. 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. In Java bringen wir die Antworten auf die drei Fragen • Was ist.... • Was hat..... • Was macht...... • in einer Klasse unter

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

  11. 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. Das UML-Diagramm besteht aus drei Zellen :

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

  14. UML-Diagramm der Klasse Katze

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

  16. Konstruktoren • 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); 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. UML-Diagramm der Klasse Hund

  19. Hund sunny = new Hund(24,5,4,5,61); 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-Diagrammder Klasse Hundmit Klassenattributen und Klassenmethoden

  24. 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