Projektstudium SS98 - distributed computing


Mehrfache Vererbung

Ein Interface kann von mehreren Interfaces erben. Die Syntax entspricht der der einfachen Vererbung und die Base Interfaces werden durch Kommata voneinander getrennt:

interface C : A, B {

...

}

Die Operationsnamen der Base Interfaces müssen einzigartig sein, es sei denn, das die mehrfach vorkommenden Operationen von einer gemeinsamen Base Interface geerbt wurden sind:

 

module DiamondInheritanceExample {

interface Base {

string op1();

};

interface Left : Base {

short op2();

};

interface Right: Base {

long op3();

};

interface Derived : Left, Right {

string op4();

};

};

 

In diesem Beispiel erben sämtliche Klassen die Operation op1() des Interfaces Base. Somit sind die Operationsnamen in den Base Interfaces nicht mehr einzigartig. Da aber Right und Left die Operation op1() von der gleichen Base Interface geerbt haben, ist Mehrfachvererbung möglich. Die unten stehende Abbildung verdeutlicht nochmals die Klassenierarchie.

 

 

nächste Seite 


© Copyright 1998 André Möller, Oliver Mentz & Magnus Wiencke