Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell


Allgemeine Informationen

In diesem Buch, das im Vieweg+Teubner-Verlag erschienen ist, wird das objektorientierte Java-Hamster-Modell ausführlich erläutert.

  • In der Leseprobe (1. Auflage) kannst du mal in das Buch hineinschnuppern.
  • Außerdem bietet Amazon eine Volltextsuche für das Buch (1. Auflage) an: Search Inside
  • Große Teile des Buches (1. Auflage) stehen auch in der Google-Buchsuche kostenlos online zur Verfügung: Buch bei Google
  • Das Buch wird aktiv im BookIP-System unterstützt: Buch in BookIP
  • Auf der Website des Vieweg+Teubner-Verlags findest du das Buch hier.


Autoren:
Dr.-Ing. Dietrich Boles , Universität Oldenburg
Dr. Cornelia Boles, BTC Oldenburg

Bibliographische Angaben:
Erscheinungsjahr: 2009
2. überarbeitete und erweiterte Auflage, 2010
Seitenanzahl: 523
Preis: 36,00 EUR
ISBN: 978-3-8348-0802-8


Werbetext:
Programmieranfänger haben häufig Schwierigkeiten damit, dass sie beim Programmieren ihre normale Gedankenwelt verlassen und in eher technisch-orientierten Kategorien denken müssen, die ihnen von den Programmiersprachen vorgegeben werden. Gerade am Anfang strömen oft so viele inhaltliche und methodische Neuigkeiten auf sie ein, dass sie das Wesentliche der Programmierung, nämlich das Lösen von Problemen, aus den Augen verlieren.

Das Hamster-Modell ist mit dem Ziel entwickelt worden, dieses Problem zu lösen. Mit dem Hamster-Modell wird Programmieranfängern ein einfaches, aber mächtiges Modell zur Verfügung gestellt, mit dessen Hilfe Grundkonzepte der imperativen und objektorientierten Programmierung auf spielerische Art und Weise erlernt werden können. Programmierer steuern virtuelle Hamster durch eine virtuelle Landschaft und lassen sie bestimmte Aufgaben lösen. Die Anzahl der gleichzeitig zu berücksichtigenden Konzepte wird im Hamster-Modell stark eingeschränkt und nach und nach erweitert.

Prinzipiell ist das Hamster-Modell programmiersprachenunabhängig. Zum praktischen Umgang mit dem Modell wurde jedoch bewusst die Programmiersprache Java als Grundlage gewählt. Java - auch als "Sprache des Internet" bezeichnet - ist eine moderne Programmiersprache, die sich in den letzten Jahren sowohl im Ausbildungsbereich als auch im industriellen Umfeld durchgesetzt hat.

In dem ersten Buch "Programmieren spielend gelernt mit dem Java-Hamster-Modell" werden allgemeine Grundlagen der Programmierung erläutert sowie Konzepte der imperativen Programmierung (Anweisungen, Schleifen, Prozeduren, Typen, Variablen, Parameter, Rekursion, ...) eingeführt. Darauf aufbauend behandelt das zweite Buch "Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell" alle wichtigen Konzepte der objektorientierten Programmierung (Objekte, Klassen, Vererbung, Polymorphie, Interfaces, Exceptions, Zugriffsrechte, Pakete, ...).

Beide Bücher sind insbesondere für Schüler und Studierende ohne Programmiererfahrung empfehlenswert. Für Programmierer mit Grundkenntnissen der imperativen Programmierung werden im zweiten Buch die Inhalte des ersten Buches kurz zusammengefasst. Die Bücher sind als Grundlage für Programmierkurse sowie zum Selbststudium geeignet. Dazu enthalten sie viele Beispielprogramme und Übungsaufgaben.

Ergänzende Materialien werden im Internet unter www.java-hamster-modell.de bereitgestellt. Insbesondere steht dort der Hamster-Simulator zur Verfügung; ein Programm, mit dem Hamster-Programme erstellt und ausgeführt werden können.


Inhaltverzeichnis

Vorwort
1. Einleitung
2. Das imperative Hamster-Modell
3. Hamsterobjekte
4. Die Klasse Hamster
5. Erweiterte Hamsterklassen (Grundlagen)
6. Erweiterte Hamsterklassen (Fortsetzung)
7. Vererbung
8. Arrays
9. Verallgemeinerung des Klassen/Objekte-Konzeptes
10. Ein- und Ausgabe
11. Polymorphie und dynamisches Binden von Methoden
12. Abstrakte Klassen und Interfaces
13. Fehlerbehandlung mit Exceptions
14. Zugriffsrechte und Pakete
15. Generics
16. Java-Klassenbibliothek
17. Ausblick
Anhang
Glossar
Literatur
Index

Aus der Einleitung:
Nach einem einleitenden Kapitel enthält Kapitel 2 dieses Buches eine Wiederholung bzw. Zusammenfassung des ersten Bandes des Java-Hamster-Buches "Programmieren spielend gelernt mit dem Java-Hamster-Modell", im Folgenden auch als imperatives Hamster-Modell bezeichnet. Um auch für die Vermittlung objektorientierter Programmierkonzepte geeignet zu sein, wurde das ursprüngliche Hamster-Modell geringfügig geändert und erweitert. Entstanden ist das so genannte objektorientierte Hamster-Modell, dessen Unterschiede zum imperativen Hamster-Modell im ersten Teil von Kapitel 3 erläutert werden.

Wie die Bezeichnung "objektorientierte Programmierung" schon ausdrückt, stellen Objekte die Grundlage dieses Programmierparadigmas dar. Im zweiten Teil von Kapitel 3 lernen Sie Hamster(-Objekte) als ersten Typ von derartigen Objekten kennen. Gegenüber dem imperativen Hamster-Modell gibt es im objektorientierten Hamster-Modell nicht nur einen, sondern mehrere Hamster. Diese werden aus einer vordefinierten Klasse Hamster erzeugt, die quasi einen Bauplan für Hamster darstellt. Kapitel 4 stellt die Klasse Hamster vor.

Die Klasse Hamster definiert unter anderem den Befehlsvorrat von Hamstern. Diesen können Sie durch die Definition erweiterter Hamsterklassen vergrößern. Während in Kapitel 5 die wichtigsten Grundlagen dieses Mechanismus der Definition erweiterter Hamster-Klassen beschrieben werden, enthält Kapitel 6 weitergehende Konzepte der Klassendefinition. Letztendlich wird in den Kapiteln 5 und 6 ein wichtiges Konzept der objektorientierten Programmierung eingesetzt, nämlich die Vererbung. Hierbei können Klassen Eigenschaften, bspw. Befehle, an andere Klassen vererben. Das Vererbungskonzept wird im Detail in Kapitel 7 vorgestellt.

Arrays ermöglichen die Zusammenfassung mehrerer Variablen zu einer Einheit. Sie sind eigentlich ein Konzept der imperativen Programmierung. In Java basieren Arrays jedoch auf objektorientierten Konzepten und werden daher erst in diesem zweiten Band des Java-Hamster-Buches eingeführt, nämlich in Kapitel 8.

Das Klassen/Objekte-Konzepte ist natürlich nicht nur dazu geeignet, Hamster als Objekte der Klasse Hamster zu repräsentieren. Dieses grundlegende Konzept der objektorientierten Programmierung wird daher in Kapitel 9 verallgemeinert.

In Kapitel 10 wird den Hamstern das Schreiben und Lesen beigebracht. Hamster können über neue Befehle Informationen auf den Bildschirm ausgeben und Informationen, die Sie als Benutzer über die Tastatur eingeben, entgegen nehmen. Die Hamster lernen dadurch, mit Ihnen als Benutzer eines Programmes zu kommunizieren.

Das Konzept der objektorientierten Programmierung, das die Vorteile der einfachen Wiederverwendbarkeit und Erweiterbarkeit von Programmen bedingt, ist das Konzept der Polymorphie im Zusammenspiel mit dem dynamischen Binden von Methoden. Was es damit genau auf sich hat, erfahren Sie in Kapitel 11. Eng mit diesem beiden Konzepten verbunden sind so genannte abstrakte Klassen und Interfaces, die in Kapitel 12 vorgestellt werden.

Java integriert mit dem Exception-Konzept eine ausgezeichnete Möglichkeit der programminternen Behandlung von Laufzeitfehlern. Exceptions sind dabei Objekte spezieller Fehlerklassen. Die Fehlerbehandlung mit Exceptions ist Thema von Kapitel 13.

In Kapitel 14 werden das Paket-Konzept sowie Zugriffsrechte behandelt. Mit Hilfe des Paket-Konzeptes lassen sich mehrere Klassen zu so genannten Paketen "`verschnüren"' und anderen Programmierern zur Verfügung stellen. Über Zugriffsrechte kann dabei spezifiziert werden, was ein anderer Programmierer mit den Klassen machen darf und was nicht.

Kapitel 15 führt das Konzept der generischen Klassen und Methoden ein. Bei diesen so genannten Generics können Klassen und Methoden mit Typ-Parametern versehen werden, wodurch eine noch bessere Wiederverwendbarkeit erzielt werden kann.

Java stellt standardmäßig über eine Klassenbibliothek viele nützliche Klassen zur Verfügung, bspw. zum einfachen Entwickeln von graphischen Benutzungsoberflächen oder zum Zugriff auf Datenbanken. In Kapitel 16 erhalten Sie einen Überblick über diese Klassenbibliothek.

Im letzten Kapitel - Kapitel 17 - werden die Unterschiede zwischen der Hamster-Sprache und der richtigen Programmiersprache Java aufgezeigt. Weiterhin gibt Kapitel 17 einen Einblick in die Welt der objektorientierten Softwareentwicklung, von der die objektorientierte Programmierung letztendlich nur ein kleiner Teil ist. Außerdem enthält Kapitel 17 einen kurzen Überblick über Band 3 der Java-Hamster-Bücher, der in die parallele Programmierung mit Java-Threads einführt.

Am Ende des Buches befinden sich ein Anhang mit einer vollständigen Beschreibung aller vordefinierter Klassen des Java-Hamster-Modells, ein Glossar, ein Literaturverzeichnis sowie ein Index.


Anmerkungen zur zweiten Auflage

Die erste Auflage dieses Buches ist im Jahr 2004 erschienen. Seitdem hat sich (natürlich) in der Java-Welt einiges getan. Insbesondere mit der Java-Version 5 sind einige neue Programmierkonzepte in die Sprache aufgenommen worden. Diese wurden in die zweite Auflage integriert. Hierbei handelt es sich um Enums (Kapitel 6.9), die for-each-Schleife (Kapitel 8.11.3), das Autoboxing und Unboxing (Kapitel 11.9), den statischen Import (Kapitel 14.2.2.4) und die Generics (Kapitel 15). Weiterhin wird nun der Java-Klassenbibliothek mit Kapitel 16 ein eigenes Kapitel gewidmet, in dem die standardmäßig von Java zur Verfügung gestellten Klassen überblicksartig vorgestellt werden. Ein Glossar mit kurzen präzisen Erläuterungen der objektorientierten Konzepte bzw. Begriffe, das von einigen Lesern gewünscht wurde, finden Sie nun im Anhang.

Weiterhin wurden einige kleine Fehler, die sich in die erste Auflage des Buches eingeschlichen hatten, beseitigt und an einigen Stellen kleine Ergänzungen vorgenommen. Die Rechtschreibung wurde an die seit dem 1.August 2006 gültigen Regeln angepasst. Der Sourcecode der Hamster-Programme entspricht nun den Java-Code-Conventions, an die sich mittlerweile quasi alle Java-Programmierer halten. Hierbei handelt es sich um allgemeine Richtlinien, was die Gestaltung von Programmen und die Wahl von Bezeichnern angeht. Auf Wunsch vieler Leser wurden darüber hinaus Verbesserungen am Erscheinungsbild des Buches vorgenommen.

In der zweiten Auflage nicht mehr wiederfinden werden Sie das alte Kapitel 15 (Spielende Hamster), in dem keine neue Konzepte mehr eingeführt, sondern alle objektorientierten Sprachkonzepte noch einmal an einem größeren Beispiel demonstriert wurden. In dem Kapitel ging es konkret darum, wie man den Hamstern das Spielen von Zwei-Spieler-Strategiespielen, wie Schach, Reversi oder 4-Gewinnt, beibringen kann bzw. allgemein, wie man Programme schreibt, die derartige Spiele spielen können. Wir haben uns zum Entfernen dieses Kapitels entschlossen, damit das Buch nicht zu dick und damit zu teuer wird. Sie finden das Kapitel, wie auch noch ein weiteres Kapitel, das sich mit der Typänderung des Standard-Hamsters beschäftigt, jedoch online auf dieser Website.


Online-Bestellung bei Amazon:


Materialien

  • alle Beispielprogramme des Buches: bsp-band2.zip (ca. 1.4 MBytes)


Online-Kapitel