1 Einleitung — Objekte und Programmierung.- 1.1 Was ist objektorientierte Programmierung?.- 1.2 Was will dieses Buch?.- 2 Grundelemente der Programmierung — Worte und Sätze.- 2.1 Der Umgang mit Fenstem in VisualWorks®.- 2.2 Zahlen, Buchstaben, Strings, Symbole und Arrays — Die ersten Zuhörer.- 2.2.1 Zahlen, Punkte und Rechtecke.- 2.2.2 Buchstaben, Strings und Symbole.- 2.2.3 Arrays.- 2.3 Einige einfache Nachrichten — Die ersten Sätze.- 2.4 Variablen — Wie fesselt man seine Zuhörer?.- 2.5 Blöcke — Fasse zusammen und herrsche.- 2.6 Verzweigungen — Ja, aber.- 2.7 Iterationen — Immer wieder dasselbe.- 2.7.1 Wiederholungen — Bis daß die Bedingung uns scheidet.- 2.7.2 Wiederholung — Was ein Array schon alleine kann.- 2.8 Weitere Mengen — Andere Sammier.- 2.8.1 OrderedCollection.- 2.8.2 SortedCollection.- 2.8.3 Set, IdentitySet.- 2.8.4 Dictionary, IdentityDictionary.- 2.9 Zusammenfassung, Tips und Tricks— Was wir schon immer wissen wollten.- 2.9.1 Was wir gelernt haben.- 2.9.2 Abkürzungen.- 2.10 Lösungen zu den Übungsaufgaben.- 3 Klassen und Instanzen — Der Rechner lebt!.- 3.1 Das Klassenkonzept.- 3.2 Eigene Klassen.- 3.2.1 Erste eigene Klassen — Die ersten Lebewesen.- 3.2.2 Instanzvariablen — Die Eigenheiten eines Lebewesens.- 3.2.3 Methoden und temporäre Variablen — Wer versteht was.- 3.3 Unterklassen und Vererbung — Das Erbe der Altvorderen.- 3.3.1 Unterklassen — Spezielle Lebewesen.- 3.3.2 Das Konzept der Unterklassen.- 3.3.3 Klassenvariablen und Klassennachrichten — Was allen gemeinsam ist.- 3.4 Abhängigkeiten zwischen Objekten — Wer muß auf wen aufpassen?.- 3.4.1 Abhängigkeit durch Versenden von Nachrichten — Zurufe.- 3.4.2 Der Dependency—Mechanismus — Abhangigkeiten.- 3.5 Ein Lagerverwaltungsprograrnm— Die Entwicklung einer Dienstleistungsgesellschaft.- 3.5.1 Objektorientierter Entwurf.- 3.5.2 Bestimmung des Analyse—Kontextes (Phase 0).- 3.5.3 Detaillierte Beschreibung des Problems (Phase 1).- 3.5.4 Definition von Objekten (Phase 2).- 3.5.5 Objektklassifikation und Bestimmung von Beziehungen zwischen Objekten (Phase 3).- 3.5.6 Objektlebenszyklus und dynamische Aspekte des Prograrnms (Phase 4).- 3.5.7 Implementierung des Programms.- 3.6 Lösungen zu den Übungsaufgaben.- 4 Ein tiefer Blick in den Browser — Wichtige Klassen in Smalltalk.- 4.1 Stream und Filename — Wohin mit den Daten?.- 4.1.1 Objekt für Objekt — Interne Stream—Objekte.- 4.1.2 Wie es der Zufall so will— Zufallszahlen.- 4.1.3 Die Verbindung nach außen — Dateinamen und Externe Stream—Objekte.- 4.1.4 Der BOSS — Objekte abspeichern.- 4.2 Wenn alle gleichzeitig reden — Prozesse.- 4.2.1 Die Unabhängigen — Prozesse.- 4.2.2 Die Ampel— Semaphore.- 4.2.3 Was noch bleibt… — RecursionLock und Promise.- 4.3 Wie man mit Fehlern leben kann — Exception Handling.- 4.4 Die, die loslassen können — WeakArray und WeakDictionary.- 4.5 Lösungen zu den Übungsaufgaben.- 5 Benutzeroberflächen — Das, was man sehen möchte.- 5.1 Graphische Objekte — Viele bunte Bilder.- 5.1.1 Das Model-View-Controller-Paradigma.- 5.1.2 Fenster, Drucker und Graphikausgabe.- 5.1.3 ScheduledWindow und GraphicsContext.- 5.1.4 CompositePart und Wrapper — Rahmen für die Bilder.- 5.1.5 Formatierte Texte.- 5.1.6 Pixmaps.- 5.2 Sichten und Controller.- 5.2.1 DependentPart und ValueModel— Die Aufpasser.- 5.2.2 Model— View — Controller.- 5.2.3 Eigene Controller — Die Dressur der Maus.- 5.2.4 Mehr über Menüs.- 5.3 Werkzeuge zur Entwicklung von Benutzeroberfläichen.- 5.4 Lösungen zu den Übungsaufgaben.- 6 Ergänzungen — Was man sonst noch wissen sollte.- 6.1 Der Umgang mit SmalJtalk—Code.- 6.1.1 Ein— und Ausgabe von Programmen eines Srnalltalk—Image.- 6.1.2 Versionenverwaltung.- 6.2 Die Erzeugung der Anwenderversion eines Programms.- 6.3 Lösungen zu den Übungsaufgaben.- 7 Literatur.