prev up next

Beispiel einer Typhierarchie

Wir betrachten eine Typhierarchie aus dem Universitätsbereich. Angestellte werden spezialisiert zu Professoren und Assistenten:


class Angestellte (extent AlleAngestellte) {
  attribute long PersNr;
  attribute string Name;
  attribute date GebDatum;
  short Alter();
  long Gehalt();
};

class Assistenten extends Angestellte (extent AlleAssistenten) {
  attribute string Fachgebiet;
};

class Professoren extends Angestellte (extent AlleProfessoren) {
  attribute string Rang;
  relationship Raeume           residiertIn inverse Raeume::beherbergt; 
  relationship set(Vorlesungen) liest       inverse Vorlesungen::gelesenVon; 
  relationship set(Pruefungen)  hatgeprueft inverse Pruefungen::Pruefer;
};

Abbildung 16.10 zeigt die drei Objekttypen Angestellte, Professoren und Assistenten, wobei die geerbten Eigenschaften in den gepunkteten Ovalen angegeben ist.

Abbildung 16.11 zeigt schematisch die aus der Ober-/Untertyp-Beziehung resultierende Inklusion der Extensionen AlleProfessoren und AlleAssistenten in der Extension AlleAngestellte.


Vererbung von Eigenschaften


Visualisierung der Extensionen


prev up next