Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Konzepte der objektorientierten Programmierung

Ähnliche Präsentationen


Präsentation zum Thema: "Konzepte der objektorientierten Programmierung"—  Präsentation transkript:

1 Konzepte der objektorientierten Programmierung
Klaus Becker 2003

2 Objektorientierung Paradigma; Denkstil; Philosophie Abstrakte Klassen
Grundkonzepte ... Vererbung Abstrakte Klassen Polymorphie Entwurfsmuster Modellierungssprache: UML Implementierung: Delphi, Java, ...

3 Teil 1 Vererbung

4 Klassen mit ähnlicher Struktur
Klassenvergleich ChuckALuck Roulett Klassen mit ähnlicher Struktur

5 Oberklasse „Zufallsgeraet“

6 Unterklasse „Wuerfel“

7 Aufgabe Ändern Sie das Chuck-A-Luck-Programm (z. B. ChuckALuck2) so ab, dass die Klasse Wuerfel eine Unterklasse der Klasse Zufallsgeraet darstellt.

8 Teil 2 Abstrakte Klassen Polymorphie

9 Abstrakte Klassen Abstrakte Klassen repräsentieren häufig einen Allgemeinbegriff. Von einer abstrakten Klasse werden nie Objektexemplare erzeugt. Sie ist bewusst unvollständig konzipiert und bildet die Basis für Unterklassen, die dann Exemplare haben können.

10 Polymorphie Polymorphie: Vielgestaltigkeit
Eine Operation (hier „werfen“) kann in Unterklassen ganz unterschiedlich ausgestaltet werden.

11 Chuck a Luck mit abstrakten Würfeln
Zur Compilierzeit kann noch nicht festgelegt werden, wie die Operation „werfen“ ausgeführt wird.

12 Späte Bindung Erst zur Laufzeit steht fest, welche Objekte am Spiel beteiligt sind und damit, wie die Operation „werfen“ ausgeführt wird.

13 Aufgabe Erstellen Sie ein Chuck-A-Luck-Programm mit gezinkten Würfeln.

14 Teil 3 Beobachtermuster

15 MVC model view2 ? ? view1

16 Bisher: Koordinator-Situation
Form1 als „Koordinator“: Das Objekt Form1 setzt zunächst das Spiel in Gang und veranlasst anschließend die Ausgabe der relevanten Daten.

17 Ziel: Beobachter-Situation
model view1 view2 Informiert über eine Änderung Holt relevanten Daten

18 Beobachter-Situation
model view1 view2 Informiert über eine Änderung Holt relevanten Daten Das model-Objekt soll in der Lage sein, andere Objekte – sog. Beobachter-Objekte – über eine Zustandsänderung zu informieren, ohne dabei Annahmen darüber treffen zu müssen, wer diese Beobachter-Objekte sind (lose Kopplung).

19 Beobachter-Muster Observable:
- kennt seine Beobachter (werden alle in Liste aufgenommen) - bietet Operationen zum An- und Abmelden von Beobachtern an - mit notifyObservers werden alle Beobachter aufgefordert, die Operation update auszuführen

20 Beobachter-Muster Wuerfel:
- bei jeder Zustandsänderung (hier: werfen) wird die Operation notifyObservers aufgerufen

21 Beobachter-Muster Observer:
- legt eine Aktualisierungsschnittstelle abstrakt fest

22 Beobachter-Muster WuerfelBeobachter1:
- kennt das zu beobachtende Objekt (hier: Wuerfel-Objekt) Holt sich hier die anzuzeigenden Daten - kennt das zu informierende Anzeigeobjekt

23 Beobachter in Aktion

24 Literaturhinweise Helmut Balzert: Lehrbuch Grundlagen der Informatik. Spektrum Ak. Verlag 1999. Heide Balzert: Lehrbuch der Objektmodellierung. Spektrum Ak. Verlag 1999. Bernd Oestereich: Objektorientierte Softwareentwicklung. Oldenbourg 1998. Erich Gamma u. a.: Entwurfsmuster. Addison-Wesley 1996. Siegfried Spolwig: Objektorientierung im Informatikunterricht. Dümmler-Verlag 1997. (Unterrichtsmaterialien von K. Merkert)


Herunterladen ppt "Konzepte der objektorientierten Programmierung"

Ähnliche Präsentationen


Google-Anzeigen