Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell


Allgemeine Informationen

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

  • In der Leseprobe kannst du mal in das Buch hineinschnuppern.
  • Außerdem bietet Amazon eine Volltextsuche für das Buch an: Search Inside


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

Bibliographische Angaben:
Erscheinungsjahr: 2004
Seitenanzahl: 536
Preis: 34,90 EUR
ISBN: 3-519-00506-9


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. Spielende Hamster
16. Ausblick
Anhang
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.

Zu guter Letzt werden in Kapitel 14 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. "Uber Zugriffsrechte kann dabei spezifiziert werden, was ein anderer Programmierer mit den Klassen machen darf und was nicht.

In Kapitel 15 werden alle eingeführten objektorientierten Sprachkonzepte noch einmal an einem größeren Beispiel demonstriert. Sie werden in diesem Kapitel zusätzlich lernen, wie man 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.

Im letzten Kapitel - Kapitel 16 - werden die Unterschiede zwischen der Hamster-Sprache und der "richtigen" Programmiersprache Java aufgezeigt. Sie lernen die Java-Klassenbibliothek kennen, eine Sammlung vieler nützlicher Klassen, die Java-Programmierern kostenlos zur Verfügung steht. Weiterhin gibt Kapitel 16 einen Einblick in die Welt der objektorientierten Softwareentwicklung, von der die objektorientierte Programmierung letztendlich nur ein kleiner Teil ist.

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


Online-Bestellung bei Amazon:


Materialien

  • alle Beispielprogramme des Buches: bsp-band2.zip (ca. 500 KBytes)


Ergänzungen

Sicher hat es Sie bisher auch schon oft geärgert, dass der Standard-Hamster immer vom Typ Hamster und nicht vom Typ einer erweiterten Hamster-Klasse ist und man für ihn keine neu definierten Befehle aufrufen kann. Wir haben uns daher in Band 2 des Java-Hamster-Buches immer mit einem Vertretungshamster begnügt. Im folgenden Artikel wird demonstriert, wie Sie dem Standard-Hamster durch Anwendung des Singleton-Musters (siehe Band 2, Abschnitt 14.4.2.1) andere Typen verpassen können.