Abstract
Supporting multiple classification in object-oriented programming languages is the topic of discussion in this paper. Supporting multiple classification gives rise to one important question — namely the question of inheritance of attributes with identical names from multiple paths in the classification hierarchy. The problem is to decide how these multiple classification paths are reflected in the class being defined. One of the conclusions in this paper is, that by choosing strict and simple inheritance rules, one is excluding some particular usages of multiple classification. This leads to the notion of attribute-resolution at class definition, which means that the programmer in some cases is forced or allowed to resolve the potential ambiguity of the inherited names. The concept of attribute-resolution is managed through the identification of two conceptually different utilizations of specialization (unification and intersection), and two different attribute properties (plural and singleton) to guide the attribute-resolution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Albano, L. Cardelli & R. Orsini: Galileo: A Strongly-Typed, Interactive Conceptual Language, ACM TODS, 10(2), 230–260 (June 1985).
E. Blake & S. Cook: On Including Part Hierarchies in Object-Oriented Languages, with an Implementation in Smalltalk, Proceedings of the European Conference on Object-Oriented Programming (ECOOP’87), Paris, France, June 1987.
D.G. Bobrow & M.J. Stefik: Loops — Data and Object-Oriented Programming for Interlisp, Discussion papers, Proceedings of the European Conference on AI, Orsay, France, July 1982.
A. Borning: The Progmmming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory, ACM TOPLAS, 3(4), 353–387 (October 1981).
A. Borning & D.H.H. Ingalls: Multiple Inheritance in Smalltalk-80, Proceedings of the National Conference on AI, Pittsburgh, PA, 1982.
L. Cardelli: Amber, AT&T Bell Labs Technical Memorandum, 11271-84092-410TM, 1984.
D.C. Halbert & P.D. O’Brien: Using Types and Inheritance in Object-Oriented Languages, Proceedings of the European Conference on Object-Oriented Programming (ECOOP’87), Paris, France, June 1987.
J. Lindskov Knudsen & K. Stougård Thomsen: A Conceptual Framework for Programming Languages, Computer Science Department, Aarhus University, DAIMI PB-192, 1985.
B. Bruun Kristensen, O. Lehrmann Madsen, B. Møller-Pedersen & K. Nygaard: The Beta Progmmming Language, in B.D. Shriver & P. Wegner (eds.): Research Directions in Object-Oriented Programming, MIT Press, 1987.
B. Meyer: Eiffel: Programming for Reusability and Extendibility, ACM Sigplan Notices, 22(2), 85–94 (February 1987).
B. Stroustrup: Multiple Inheritance for C++, Proceedings of the Spring’ 87 EUUG Conference, Helsinki and Stockholm, May 1987.
K. Stougård Thomsen: Inheritance on Processes, Exemplified on Distributed Termination Detection, International Journal of Parallel Programming, l6(l), 17–52 (1987).
D. Weinreb & D. Moon: Flavors: Message Passing in the Lisp Machine, MIT A1 Memo No. 602, November 1980.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Knudsen, J.L. (1988). Name Collision in Multiple Classification Hierarchies. In: Gjessing, S., Nygaard, K. (eds) ECOOP ’88 European Conference on Object-Oriented Programming. ECOOP 1988. Lecture Notes in Computer Science, vol 322. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45910-3_6
Download citation
DOI: https://doi.org/10.1007/3-540-45910-3_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-50053-7
Online ISBN: 978-3-540-45910-1
eBook Packages: Springer Book Archive