1 / 25

Objektorientiertes Programmieren

Objektorientiertes Programmieren . Autor : Wolfgang Zimmer. Was ist eine Klasse?. Ein Lexikon dient i.a. zur Erläuterung von Begriffen: Stichwort Katze . Lexikoneintrag:. Eine Katze ist ein Raubtier mit - starken Reißzähnen

zada
Télécharger la présentation

Objektorientiertes Programmieren

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related