Abstract
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 roles to resolve such ambiguity. Our theory also allows us to model the role “super”. For languages with dynamic overriding [1], 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 work extends that presented in [5].
Preview
Unable to display preview. Download preview PDF.
References
S. Abiteboul, G. Lausen, H. Uphoff, and E. Waller. Methods and rules. In Proc. of the ACM SIGMOD International Conference on the Management of Data, pages 32–41, Washington, DC, 1993.
H. Ait-Kaci and R. Nasr. LOGIN: A logic programming language with built-in inheritance. Journal of Logic Programming, 3:185–215, 1986.
B. J. Cox. Object-oriented programming; an evolutionary approach. Addison-Wesley, Reading, Mass., 1987.
G. Dobbie. Foundations of Deductive Object-Oriented Database Systems. thesis, University of Melbourne, 1995.
G. Dobbie and R. W. Topor. A model for sets and multiple inheritance in deductive object-oriented systems. In Proceedings of the Third International Conference on Deductive and Object-Oriented Databases, Scottsdale, Arizona, 1993.
A. Goldberg and D. Robson. Smalltalk-80: the language and its implementation. Addison-Wesley, 1983.
M. Kifer, G. Lausen, and J. Wu. Logical foundations of object-oriented and framebased languages. Technical Report 90/14 (revised), Department of Computer Science, State University of New York at Stony Brook, 1990. Further revised as Technical Report 93/06, April 1993.
B. Meyer. Object-Oriented Software Construction. Prentice Hall, 1988.
D. A. Moon. The COMMON LISP object-oriented programming language. In W. Kim and F. H. Lochovsky, editors, Object-oriented concepts, Databases, and Applications, pages 49–78. ACM Press Books, 1989.
T. C. Przymusinski. On the declarative semantics of deductive databases and logic programs. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 193–216. Morgan Kaufmann, 1988. Further revised as [11].
T. C. Przymusinski. Every logic program has a natural stratification and an iterated fixed point model. In Proceedings of the Eighth ACM PODS Symposium on Principles of Database Systems, pages 11–21, 1989.
B. Stroustrup. The C++ Programming Language. Addison-Wesley, 2nd edition, 1991.
D. Ungar and R. B. Smith. Self: The power of simplicity. In 1987 Object-Oriented Programming Systems, Languages, and Applications Conference Proceedings, pages 227–242, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dobbie, G., Topor, R. (1995). Resolving ambiguities caused by multiple inheritance. In: Ling, T.W., Mendelzon, A.O., Vieille, L. (eds) Deductive and Object-Oriented Databases. DOOD 1995. Lecture Notes in Computer Science, vol 1013. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60608-4_45
Download citation
DOI: https://doi.org/10.1007/3-540-60608-4_45
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60608-6
Online ISBN: 978-3-540-48460-8
eBook Packages: Springer Book Archive