1 Einleitung.- 1.1 Anwendungsbeispiel.- 1.2 Lesehinweise.- 2 Programmierung.- 2.1 Voraussetzungen.- 2.1.1 Prozeduren, Bl?cke, Deklarationen und Speicherverwaltung.- 2.1.2 Abstrakter und konkreter Datentyp.- 2.1.3 Module.- 2.1.4 Es geht auch anders: LISP.- 2.2 Klassen und Vererbung.- 2.2.1 Klassen.- 2.2.2 Vererbung.- 2.3 Objektorientierte Programmierung.- 2.3.1 Einbettung in ein Kommunikationsmodell.- 2.3.2 Etwas Wasser im Wein.- 2.3.3 Objektorientierte Analyse und Entwurf.- 2.3.4 Ein unterschiedlicher Programmablauf.- 2.4 Subklassen und Subtypen.- 2.4.1 Problemstellung.- 2.4.2 Was ist eigentlich ein Subtyp?.- 2.4.3 Hilfen durch die Programmiersprache.- 2.5 Module, verteilte Objekte und Wiederverwendung.- 2.5.1 Klassen und Vererbung versus Module.- 2.5.2 Wiederverwendung.- 2.5.3 Verteilte Objekte.- 2.6 Zusammenfassung.- 2.6.1 Einleitend genannte Ziele.- 3 Programmiersprachen.- 3.1 Simula.- 3.1.1 Entstehung von Simula.- 3.1.2 Das imperative Erbe.- 3.1.3 Klassen in Simula.- 3.1.4 Vererbung.- 3.1.5 Der Zugriff auf das richtige Attribut.- 3.1.6 Entwicklungsumgebung.- 3.1.7 Bedeutung von Simula.- 3.2 Smalltalk.- 3.2.1 Der objektorientierte Ansatz zur Beherrschung des Systems.- 3.2.2 Metaklassen.- 3.2.3 Entwicklungsumgebung.- 3.2.4 Bedeutung von Smalltalk.- 3.3 C++.- 3.3.1 Die Basis C.- 3.3.2 Klassen und Instanzen.- 3.3.3 Vererbung.- 3.3.4 Schutz vor den abgeleiteten Klassen.- 3.3.5 Auf welches Element wird zugegriffen?.- 3.3.6 Aufl?sung von Mehrdeutigkeiten bei multipler Vererbung.- 3.3.7 Entwicklungsumgebung.- 3.3.8 Bedeutung von C++.- 3.4 Eifel.- 3.4.1 Mit allen Stufen zum objektbasierten Gl?ck.- 3.4.2 Klassen und Instanzen.- 3.4.3 Was alles vererbt wird.- 3.4.4 Konformit?t von Typen und Redefinition von Merkmalen.- 3.4.5 Konfliktaufl?sung bei multipler Vererbung.- 3.4.6 Entwicklungsumgebung.- 3.4.7 Bedeutung von Eiffel.- 3.5 Zusammenfassung.- 3.5.1 Unterschiedliche Vererbung in unterschiedlichen Sprachen.- 3.5.2 Trends.- 4 K?nstliche Intelligenz.- 4.1 Semantische Netzel“&