Grundlagen der Informatik

Polymorphie, Abstrakte Klassen, Mehrfachvererbung Prof. Dr.-Ing. Thomas Wiedemann Prof. Dr. rer.nat. Ralph Großmann Fachgebiet Informatik / Mathematik

Überblick zum Inhalt Klassen-3 • Polymorphie • Beispiele zur Polymorphie • Abstrakte Klassen - rein virtuelle Funktionen • Mehrfachvererbung

2

1

Polymorphie in Klassenhierarchien Unter Polymorphie in der OT versteht man das dynamische Binden von Elementfunktionen. Damit wird erst zur Laufzeit festgestellt, welche Elementfunktion zu einer Klasse gehörig an einer bestimmten Stelle aufzurufen ist. Dies wird durch den Klassenkontext (Objekt) ermittelt. Der Normalfall ist die statische Bindung einer Elementfunktion zur Compilezeit. D.h. der Compiler legt fest, welche Elementfunktion gerufen wird. Dadurch lässt sich bei Vererbung die Nutzung einer anderen, der Klassenzugehörigkeit des Objektes entsprechenden Elementfunktion nicht mehr erreichen. Die Auswahl der Bindungsverfahren einer Methode muss dem Compiler durch die Direktive virtual angezeigt werden. 3

Polymorphie in Klassenhierarchien (statisches Binden) Beispiel: class A //Basis-Klasse {public: void Druck(){cout