Konzepte der objektorientierten Programmierung Klaus Becker 2003.
-
Upload
valda-giering -
Category
Documents
-
view
116 -
download
1
Transcript of Konzepte der objektorientierten Programmierung Klaus Becker 2003.
Konzepte der Konzepte der objektorientierten objektorientierten ProgrammierungProgrammierung
Klaus Becker2003
2
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gObjektorientierungObjektorientierung
Paradigma; Denkstil; Philosophie
Grundkonzepte
...
Vere
rbu
ng
Poly
morp
hi
e
Ab
stra
kte
Kla
ssen
En
twu
rfsm
ust
er
Modellierungssprache: UML
Implementierung: Delphi, Java, ...
3
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gTeil 1Teil 1
Vererbung
4
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gKlassenvergleichKlassenvergleich
ChuckALuck Roulett
Klassen mit ähnlicher Struktur
5
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gOberklasse „Zufallsgeraet“Oberklasse „Zufallsgeraet“
6
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gUnterklasse „Wuerfel“Unterklasse „Wuerfel“
7
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gAufgabeAufgabe
Ändern Sie das Chuck-A-Luck-Programm (z. B. ChuckALuck2) so ab, dass die Klasse Wuerfel eine Unterklasse der Klasse Zufallsgeraet darstellt.
8
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gTeil 2Teil 2
Abstrakte Klassen
Polymorphie
9
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gAbstrakte KlassenAbstrakte 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
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gPolymorphiePolymorphie
Polymorphie: Vielgestaltigkeit
Eine Operation (hier „werfen“) kann in Unterklassen ganz unterschiedlich ausgestaltet werden.
11
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gChuck a Luck mit abstrakten WürfelnChuck a Luck mit abstrakten Würfeln
Zur Compilierzeit kann noch nicht festgelegt werden, wie die Operation „werfen“ ausgeführt wird.
12
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gSpäte BindungSpäte Bindung
Erst zur Laufzeit steht fest, welche Objekte am Spiel beteiligt sind und damit, wie die Operation „werfen“ ausgeführt wird.
13
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gAufgabeAufgabe
Erstellen Sie ein Chuck-A-Luck-Programm mit gezinkten Würfeln.
14
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gTeil 3Teil 3
Beobachtermuster
15
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gMVCMVC
model
view2
view1
?
?
16
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gBisher: Koordinator-SituationBisher: 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
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gZiel: Beobachter-SituationZiel: Beobachter-Situation
model
view1
view2
Informiert über eine Änderung Holt relevanten Daten
18
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gBeobachter-SituationBeobachter-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
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gBeobachter-MusterBeobachter-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
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gBeobachter-MusterBeobachter-Muster
Wuerfel:
- bei jeder Zustandsänderung (hier: werfen) wird die Operation notifyObservers aufgerufen
21
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gBeobachter-MusterBeobachter-Muster
Observer:
- legt eine Aktualisierungsschnittstelle abstrakt fest
22
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gBeobachter-MusterBeobachter-Muster
WuerfelBeobachter1:
- kennt das zu beobachtende Objekt (hier: Wuerfel-Objekt) Holt sich hier die anzuzeigenden Daten- kennt das zu informierende Anzeigeobjekt
23
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gBeobachter in AktionBeobachter in Aktion
24
KB
Ob
jekto
rien
tiert
e P
rog
ram
mie
run
gLiteraturhinweiseLiteraturhinweise
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.
http://hsg.region-kaiserslautern.de/Informatik/MVC/mvc.html (Unterrichtsmaterialien von K. Merkert)