| |||||||||||||||
|
Sie lieben Tiere?
Unser Haustiershop bietet alles, was Sie für die Haltung, Pflege, Gesundheit und Ernährung Ihres Lieblings brauchen. Jetzt entdecken |
|
Dieses Buch gibt es in einer neuen Auflage:
|
Produktinformation
Möchten Sie die Produktinformationen aktualisieren oder Feedback zu den Produktabbildungen geben?
Ist der Verkauf dieses Produkts für Sie nicht akzeptabel? |
Sehr ausführlich und anschaulich werden die Grundkonzepte der objektorientierten Programmierung (Objekte, Klassen, Vererbung, Polymorphie, Schnittstellen, Exceptions, Pakete, ...) eingeführt. Besonders hilfreich sind die vielen Beispielprogramme. Und Grundlage ist wieder das lustige Hamster-Modell. Der Hamster bekommt Gesellschaft. Er kann Nachwuchs (er-)zeugen und dabei seine Fähigkeiten an seine Nachkommen vererben, er kann mit seinen Hamster-Kollegen kooperieren, Hamster können sich Knechte halten, die für sie die Arbeit erledigen, die Hamster lernen, mit Fehlersituationen umzugehen, usw. Man lernt in der Tat spielerisch objektorientiert programmieren, ohne sich ständig mit technischen Details herumschlagen zu müssen.
Absolutes Highlight des Buches ist aber das Kapitel "Spielende Hamster". Hier wird in einem Beispiel gezeigt, wie Spielprogramme entwickelt werden, so dass zwei Hamster gegeneinander oder Hamster gegen Menschen Spiele wie Schach oder 4-Gewinnt spielen können. An diesem Beispiel sieht man sehr schön, was der Einsatz der Konzepte der objektorientierten Programmierung für Vorteile bringt und wie man die Konzepte richtig einsetzt.
Ich denke, dieses Buch ist insbesondere für solche Personen geeignet, die bereits Grundkenntnisse der imperativen Programmierung (C, Pascal, ...) besitzen und nun zur objektorientierten Programmierung (mit Java) wechseln möchten oder müssen. Wer es schonmal mit anderen Büchern zur objektorientierten Programmierung oder Java versucht hat und daran gescheitert ist, liegt mit diesem Buch goldrichtig, denn das Buch besticht durch seine Ausführlichkeit und sehr gute Verständlichkeit.
Wer noch gar keine Kenntnisse in der Programmierung besitzt, sollte jedoch zuvor das erste Buch "Programmieren spielend gelernt mit dem Java-Hamster-Modell" durcharbeiten. Das zweite Buch enthält zwar eine Zusammenfassung des ersten. Diese reicht auch für Personen mit Vorkenntnissen aus, für absolute
Programmieranfänger dürfte sie jedoch etwas zu knapp sein.
Formale Mängel
Während der ersten Band mit Syntaxdiagrammen, tabellarischen Aufstellungen, etc. den Stoff zusammenfasste und veranschaulichte fehlen solche Elemente in diesem Band weitgehend. Nur das Kapitel über Arrays sticht diesbezüglich positiv hervor. Dies ist umso gravierender, als das Stichwortverzeichnis weder Haupteinträge hervorhebt noch auf Synonyme verweist. Ein Begriffsglossar fehlt leider auch.
Die Beispiele scheinen mir etwas langfädig, dabei beweist das englischsprachige Pendant (Karel++ von Joseph Bergin, u. a.), dass es auch anders ginge. Die Autoren scheinen sich etwas zu sehr in Details verrannt zu haben. Die langfädigen Ausführungen, zusammen mit zu wenig Struktur und nicht immer einfachen Sätzen machen das Buch relativ schwer verständlich.
Inhaltliche Mängel
Während im ersten Band die wichtigsten Diagramme der imperativen Programmierung (Programm Ablauf-Plan, Struktogramm) vorgestellt wurden, enthält dieses Buch weder Klassendiagramme noch Interaktionsdiagramme. Der Objektorientierte Softwareentwicklungsprozess ist viel zu abstrakt auf zwei Seiten abgehandelt. Fragen des Objektorientierten Designs bleiben unbeantwortet. Auf das Thema Testen wird nicht eingegangen. Als einziges Design-Muster wird der Singleton erklärt.
Bei der Objektorientierung ist die Kollaboration von mehreren Objekten, die unter sich eine sinnvolle Aufgabenteilung aufweisen, zentral. Dieses wichtige Thema handeln die Autoren mit dem Beispiel "Fauler Hamster" auf 3 knappen Seiten ab. Der FauleHamster delegiert alle Aufgaben einem anderen Hamster. Wie soll da der Leser denn Sinn der Objektorientierung verstehen, wenn mit derart abwegigen Beispielen gearbeitet wird?
Dabei wäre die Hamsterwelt mit allem ausgestattet, was es für interessante Interaktionen brauchen würde. Selbst Interaktionen mit dem Benutzer sind möglich. Hamster können synchron oder asynchron Nachrichten austauschen. Zudem ist die Hamsterwelt grafisch wunderschön und ansprechend gestaltet. Nur töten kann man die Viecher nicht.
Leider führen die Autoren die Kollaboration der Objekte (Hamster) nicht nur mit einemschlechten Beispiel ein. Sie verwenden und erklären auch viele Begriffe der Objektorientierten Programmierung nicht. Folgende Begriffe tauchen im ganzen Buch nicht auf: Client, Server, Nachricht, Kollaboration, Aggregation, Komposition, Assoziation, Basisklasse, abgeleitete Klasse, Operation, Member, Feld. Delegation wird erklärt, fehlt aber im Stichwortverzeichnis. Kapselung (encapsulation) erscheint nur unter dem ungebräuchlichen Synonym Datenkapselung. Anstelle der gängigen Begriffe Aggregation und Komposition führen die Autoren Begriffe ein, die es in diesem Zusammenhang gar nicht gibt, nämlich: exklusive und nicht-exklusive Subobjekte.
Java und UML-Begriffe werden grundlos vermischt: Instanzvariablen werden UML-like als Attribute bezeichnet, für Methoden kommt aber nie der UML-Begriff Operation vor.
Natürlich ist es wichtig, in einem Buch die Dinge einheitlich zu bezeichnen. Aber: Wichtige Synonyme und die Konzepte die hinter diesen Synonymen stecken, gehören doch zum Rüstzeug von angehenden Fachleuten.
Angesichts des Umfanges des Buches erstaunt, dass viele Themen wie Threads, Event-Handling, Serialisierung und Speicherung, innere Klassen, etc. fehlen. Selbst Java Basiswissen wird teilweise nicht vermittelt, so z. B. this und super bei Konstruktoren oder this bei der Parameterübergabe.
Pluspunkte
Ansonsten besticht das Buch durch eine sorgfältige Einführung der Programmierkonzepte, die dank den Hamstern als beobachtbare Objekte gut veranschaulicht werden.
Mein Fazit: Ich arbeite im Unterricht mit dem Hamstermodell, setze aber lieber eigene Unterrichtsunterlagen ein.
|
Das Forum zu diesem Produkt
Fragen stellen, Meinungen austauschen, Einblicke gewinnen Aktive Diskussionen in ähnlichen Foren
Kundendiskussionen durchsuchen
|
Ähnliche Foren
|
|||||||||||||||||||||||||||||||
|
|