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

  1. Grundkonzepte der objektorientierten Programmierung
    1. Begriffe
    2. Nachrichtenaustausch
    3. ADT
    4. Polymorphie
    5. Vererbung, konzeptionell
    6. Untertypen
  2. Hierarchisches Programmieren
    1. Aufbau einer Klassenhierarchie-1
    2. Vererbung in Java
    3. Vererbung in C++
    4. Aufbau einer Klassenhierarchie-2
    5. Entwurfsmuster
    6. heterogene Listen und Typkonversion
  3. Generisches Programmieren
    1. Kategorien und eingeschränkte Generizität
    2. C++ Schablonen
    3. Ausprägung und Vererbung
    4. Muster
    5. Traits
    6. Java
    7. Entwurfsprinzipien Felder
    8. Entwurfsprinzipien für Ausdrücke und Funktionen
    9. Ausdrucksschablonen
    10. Template Metaprogramme
  4. Standard Template Library
    1. Grundlegende Konzepte
    2. Iteratoren
    3. Funktoren
    4. Container
    5. Algorithmen
  5. Komponenten basiertes Programmieren
    1. Einführung
    2. Java Beans
    3. EJB
    4. GUI Komponenten
  6. WWW basiertes Programmieren
    1. Applets
    2. Servlets
    3. Server Pages
  7. reflexives Programmieren
    1. Klassen und Metaklassen
    2. java.lang.reflect
    3. 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.