Objektorientierte Programmierung
Vererbung und Parametrisierte Datentypen
Hierarchisches und generisches Programmieren
Vorkenntnisse
Es werden Grundkenntnisse in der Programmiersprache C++ oder Java vorausgesetzt, wie sie etwa im Programmierpraktikum vermittelt werden.Die Vorlesung kann mit Anwendungsprogrammierung in Java ergänzt werden.
Inhaltsübersicht
- Grundkonzepte der objektorientierten Programmierung
- Begriffe
- Nachrichtenaustausch
- ADT
- Polymorphie
- Vererbung, konzeptionell
- Untertypen
- Hierarchisches Programmieren
- Aufbau einer Klassenhierarchie-1
- Vererbung in Java
- Vererbung in C++
- Aufbau einer Klassenhierarchie-2
- Entwurfsmuster
- heterogene Listen und Typkonversion
- Generisches Programmieren
- Kategorien und eingeschränkte Generizität
- C++ Schablonen
- Ausprägung und Vererbung
- Muster
- Traits
- Java
- Entwurfsprinzipien Felder
- Entwurfsprinzipien für Ausdrücke und Funktionen
- Ausdrucksschablonen
- Template Metaprogramme
- Standard Template Library
- Grundlegende Konzepte
- Iteratoren
- Funktoren
- Container
- Algorithmen
- Komponenten basiertes Programmieren
- Einführung
- Java Beans
- EJB
- GUI Komponenten
- WWW basiertes Programmieren
- Applets
- Servlets
- Server Pages
- reflexives Programmieren
- Klassen und Metaklassen
- java.lang.reflect
- C++ RTTI
Literatur
- B. Stroustrup: The Programming Language C++, 3.rd edition, Addison-Wesley, 1998
- M. Austern: Generic Programming and the STL, Addison-Wesley, 1998
- weitere Literatur in der Vorlesung
- Czarnecky, Eisenecker: Generative Programming, Addison-Wesley, 2000
- ANSI C++ Standard
- Barton, Nackman: Scientific and Engineering C++. Addison-Wesley, 1994.

