prev up next

Verfeinerung und spätes Binden

Genau wie Attribute werden auch Operationen vom Obertyp an alle Untertypen vererbt. Zum Beispiel steht der bei Angestellte definierte Observer Gehalt() auch bei den Objekttypen Professoren und Assistenten zur Verfügung.

Wir hätten auch eine Verfeinerung bzw. Spezialisierung (engl. Refinement) vornehmen können. Das Gehalt würde danach für jeden Objekttyp unterschiedlich berechnet:

In Abbildung 16.10 ist dies durch den kursiven Schrifttyp der geerbten Gehalt-Eigenschaft gekennzeichnet.


Die Extension AlleAngestellten mit drei Objekten

Abbildung 16.12 zeigt die Extension AlleAngestellten mit drei Elementen:

Es werde nun die folgende Query abgesetzt:


select sum(a.Gehalt())
from a in AlleAngestellten;

Offensichtlich kann erst zur Laufzeit die jeweils spezialisierteste Version von Gehalt ermittelt werden. Diesen Vorgang bezeichnet man als spätes Binden (engl. late binding).


prev up next