Resolving Ambiguities caused by Multiple Inheritance


Author: Gill Dobbie
Source: GZipped PostScript (59kb); Adobe PDF (281kb)

In object-oriented languages, multiple inheritance can cause ambiguities when methods of the same name are inherited from more than one superclass of a given class. In C++, qualifiers can be used to explicitly state which method should be inherited. We describe a mathematical foundation for an object-oriented language that uses qualifiers or {\em roles\/} to resolve such ambiguity. Our theory also allows us to model the role ``super''. For languages with dynamic overriding, it further allows us to model monotonic inheritance of multi-valued methods. Finally, we describe a possible implementation of query evaluation in our language. This paper extends work we have done previously.

[Up to Computer Science Technical Report Archive: Home Page]