Programmierkurs Java

Werbung
Programmierkurs Java
Teil
Objektorientierte Programmierung
Unterrichtseinheit 20
(Hamster-) Objekte
Dr. Dietrich Boles
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 1
Gliederung
¾ Imperatives Java-Hamster-Modell
¾ Objektorientiertes Java-Hamster-Model
¾ Hamster-Objekte
¾ Standard-Hamster
¾ Hamster-Befehle
¾ Objektorientierte Hamster-Programme
¾ Neue Hamster-Befehle
¾ Bezug zur Objektorientierten Programmierung
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 2
Imperatives Java-Hamster-Modell
Imperatives Hamster-Modell (Charakteristika):
¾ einzelner Hamster Æ Standard-Hamster
¾ Hamster ist namenlos
¾ Hamster ist immer da
¾ 4 Grundbefehle und 3 Testbefehle
¾ 4 Eigenschaften (Attribute) (Æ Zustand):
¾ Reihe der Kachel
¾ Spalte der Kachel
¾ Blickrichtung
¾ Anzahl Körner im Maul
¾ Hamster-Programm: Aufruf von Funktionen (Befehlen)
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 3
Objektorientiertes Java-Hamster-Modell (1)
Objektorientiertes Hamster-Modell (Charakteristika):
¾ Standard-Hamster existiert weiterhin
¾ Erzeugung weiterer Hamster möglich
¾ Jeder Hamster kennt die 4 Grundbefehle und 3 Testbefehle
¾ Es kommen einige neue Befehle hinzu
¾ Auf einer Kachel können mehrere Hamster stehen
¾ Jeder Hamster besitzt die 4 Attribute
¾ Jeder Hamster hat einen (oder mehrere) Namen
¾ Wenn ein Hamster einen Fehler macht, sterben alle
(Æ Programmabbruch)
¾ OO-Hamster-Programm: Aufruf von Funktionen für Hamster
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 4
Objektorientiertes Java-Hamster-Modell (2)
Objektorientiertes Hamster-Modell (Voraussetzungen):
¾ Zuordnung von Namen zu Hamstern
¾ Anweisung zur Erzeugung von Hamstern
¾ Notation, welcher Hamster einen bestimmten Befehl ausführen soll
¾ Koordinatensystem für das Territorium
0
1
2
7
0
neuer Hamster
Reihe: 0
Spalte: 6
Blickrichtung: SUED
Körner: y
Standard-Hamster (blau)1
Reihe: 1
Spalte: 1
Blickrichtung: OST
Körner: x
4
Reihe
Programmierkurs Java
Spalte
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 5
Hamster-Objekte
Erzeugung neuer Hamster:
Hamster paul = new Hamster(0, 6, Hamster.SUED, 8);
Name (Bezeichner)
Reihe (int)
Körneranzahl (int)
Spalte (int) Blickrichtung (int)
Hamster.NORD (= 0)
Hamster.OST (= 1)
Hamster.SUED (= 2)
Hamster.WEST (= 3)
Mögliche Laufzeitfehler:
¾ ungültige oder mit Mauern besetzte Kachel
¾ ungültige Blickrichtung
¾ negative Körneranzahl
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 6
Standard-Hamster
Zuordnung eines Namens an den Standard-Hamster:
Hamster willi = Hamster.getStandardHamster();
Name (Bezeichner)
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 7
Befehle
Aufruf von Hamster-Befehlen:
<name>.<befehl>
Beispiele:
Hamster paul = Hamster.getStandardHamster();
if (paul.vornFrei()) paul.vor();
Hamster willi = new Hamster(0, 2, Hamster.OST, 2);
while (!willi.maulLeer()) willi.gib();
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 8
OO-Hamster-Programme
Objektorientiertes Hamster-Programm:
void main() {
Hamster paul = Hamster.getStandardHamster();
while (paul.vornFrei()) {
paul.vor();
if (paul.kornDa()) {
paul.nimm();
}
}
Demo
}
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 9
Neue Befehle (1)
Zusätzliche Hamster-Befehle:
¾ int getReihe()
¾ int getSpalte()
¾ int getBlickrichtung()
¾ int getAnzahlKoerner()
¾ void schreib(String nachricht)
¾ String liesZeichenkette(String aufforderung)
¾ int liesZahl(String aufforderung)
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 10
Neue Befehle (2)
void main() {
Hamster paul = Hamster.getStandardHamster();
Hamster willi =
new Hamster(paul.getReihe() + 1, paul.getSpalte(),
Hamster.OST, 0);
int schritte = paul.liesZahl("Anzahl an Schritten?");
while (schritte>0 && paul.vornFrei() && willi.vornFrei()) {
paul.vor();
willi.vor();
schritte--;
}
willi.schreib("Fertig!");
Demo
}
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 11
Bezug zur Objektorientierten Programmierung
¾ Hamster sind Objekte einer (vordefinierten) Klasse Hamster
¾ Eine Klasse ist quasi ein Bauplan für gleichartige Dinge (Objekte)
¾ Von einer Klasse können Objekte erzeugt werden
¾ Eine Klasse definiert (intern) Variablen (Attribute), die jedes Objekt
besitzt und die seinen Zustand repräsentieren
¾ Eine Klasse definiert Funktionen (Methoden), die für Objekte der
Klasse aufgerufen werden können
¾ Der Methodenaufruf erfolgt via der Punktnotation über Namen
(Objektvariablen), die einem Objekt zugeordnet werden können
¾ Eine Klasse definiert einen neuen Typ
¾ OO-Programme: Aufruf von Methoden für/von Objekten
Programmierkurs Java
UE 20
(Hamster-) Objekte
Dietrich Boles
Seite 12
Herunterladen