Java Reference
In-Depth Information
while (paul.vornFrei() && heidi.vornFrei()) {
paul.vor();
heidi.vor();
}
}
Vererbung und Klassendefinition : Im objektorientierten Hamster-Modell lässt sich der Befehls-
vorrat der Hamster durch das Konzept der Vererbung erweitern, indem ausgehend von der Klasse
Hamster neue Klassen definiert, man sagt auch abgeleitet werden. Diese erben automatisch alle
Attribute und Methoden der Klasse Hamster und können weitere definieren.
Arrays : Arrays sind Konstrukte zur Zusammenfassung mehrerer Variablen desselben Typs zu ei-
ner Einheit. Sie gehören eigentlich zur imperativen Programmierung, sind in Java aber als Objekte
realisiert und werden daher erst im zweiten Band des Java-Hamster-Buches eingeführt. Arrays erlau-
ben bspw. das Anlegen von Hamster-Kolonnen oder eine Erweiterung des Hamster-Gedächtnisses,
um bspw. ein Abbild des Hamster-Territoriums (2-dimensionales Array mit Körnern und Mauern)
abzuspeichern.
Ein- und Ausgabe : Die Hamster lernen lesen und schreiben, um eine Kommunikation mit dem
Benutzer eines Programms zu ermöglichen und damit Hamster-Programme noch flexibler gestalten
zu können. Realisiert wird dies durch die Erweiterung des Befehlsvorrats der Hamster um Lese-
und Schreibbefehle. Notwendig ist dazu zunächst die Einführung eines neuen Datentyps String
zur Handhabung von Zeichenketten.
Interfaces, Polymorphie und dynamisches Binden : Interfaces , Polymorphie und dynamisches Bin-
den von Methoden sind Konzepte, die es zusammen ermöglichen, dass ein Hamster erst zur Laufzeit
entscheiden muss, welche von mehreren gleichartigen Methoden er auszuführen hat. Damit las-
sen sich generische Frameworks entwickeln. Hierbei wird zunächst nur ein (abstrakter) Kern für
die Lösung einer Menge gleichartiger Probleme entwickelt, der dann flexibel zu Lösungen kon-
kreter Probleme ausgebaut werden kann. Demonstriert wird dieses Prinzip im zweiten Band der
Java-Hamster-Bücher anhand der Entwicklung von 2-Spieler-Strategiespielen, wie Schach, Mühle,
Dame, 4-Gewinnt oder Reversi. Spielfeld ist hierbei jeweils das Hamster-Territorium, Hamster oder
Körner repräsentieren die Spielfiguren. Spieler sind entweder Menschen, denen jeweils ein Hamster
zugeordnet ist, der für sie Spielzüge ausführt, oder Hamster von speziellen Hamster-Klassen, die in-
telligente Spielstrategien implementieren. Die Hamster sind dabei so gut, dass Sie als menschlicher
Spieler kaum noch eine Chance haben, gegen sie zu gewinnen.
Fehlerbehandlung mit Exceptions : Als Alternative zu den drei vordefinierten Testbefehlen werden
Exceptions vorgestellt, um die Hamster vor ihrem Tod zu bewahren, wenn sie bspw. gegen eine
Mauer rennen oder imaginäre Körner fressen wollen. Exceptions sind spezielle Objekte, die im
Fehlerfall „geworfen“ werden und zur Bearbeitung des Fehlers wieder „gefangen“ werden können.
Zugriffsrechte und Pakete : Unter dem Motto „Die Hamster haben auch eine Privatsphäre“ wer-
den im zweiten Band der Java-Hamster-Bücher Zugriffsrechte und das Paket-Konzept eingeführt.
Zugriffsrechte regulieren den Zugriff auf Attribute und Methoden einer Klasse. Pakete dienen dazu,
Klassen zu Klassenbibliotheken zusammenzufassen und anderen Programmierern zur Verfügung zu
stellen.
Search WWH ::




Custom Search