Abstract
Inheritance mechanisms are used to express many different programming concepts. In this paper we analyse these inheritance concepts to determine the requirements for an inheritance mechanism which is to support the concepts well. On the basis of this analysis we identify weaknesses in current mechanisms, particularly in the areas of modelling and signature modification and show how an inheritance mechanism can better fulfil the requirements while remaining type-safe.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Baumgartner, G. & Russo, V.F. (1995) “Signatures: A Language Extension for Improving Type Abstraction and Subtype Polymorphism in C++”, Software — Practice and Experience, 25(8), pp. 863–889.
Beeri, C. (1990) “A Formal Approach to Object-Oriented Databases”, Data and Knowledge Engineering, 5, 4, pp. 353–382.
Bracha, G. & Cook, W. (1990) “Mixin-based Inheritance”, OOPSLA '90 Proceedings.
Cardelli, L. & Wegner, P. (1985) “On understanding types, data abstractions and polymorphism”, ACM Computing Surveys, 17, 4, pp. 471–522.
Cook, W. & Palsberg, J. (1989) “A Denotational Semantics of Inheritance and its Correctness”, OOPSLA '89 Proceedings.
Cook, W.R. (1989) “A Proposal for Making Eiffel Type-Safe”, ECOOP '89 Proceedings.
Cook, W.R., Hill, W.L. & Canning, P.S. (1990) “Inheritance is not Subtyping”, Proceedings 17th ACM Symposium on Principles of Programming Languages.
DeMichiel, L. & Gabriel, R. (1987) “The Common Lisp Object System”, ECOOP '87 Proceedings, pp.151–170.
Goldberg, A. & Robson, D. (1989) “Smalltalk-80: the language”, Addison-Wesley Series in Computer Science.
Kristensen, B.B., et.al. (1989) “The Beta Programming Language — a Scandinavian Approach to Object-Oriented Programming”, OOPSLA '89 Tutorial Notes.
Khoshafian, S. & Abnous, R. (1990) “Object Orientation”, Wiley, New York.
LaLonde, W., Thomas, D. & Pugh, J. (1986) “An Exemplar-Based Smalltalk”, OOPSLA '86 Proceedings.
LaLonde, W. & Pugh, J. (1991) “Subclassing ≠ Subtyping ≠ Is-a”, Journal of Object-Oriented Programming, 3/91, pp. 57–62.
Liskov, B. (1987) “Data Abstraction and Hierarchy”, OOPSLA '87 Addendum to the Proceedings.
Meyer, B. (1986) “Genericity versus Inheritance”, OOPSLA '86 Proceedings.
Meyer, B. (1988) “Object-Oriented Software Construction”, International Series in Computer Science, Prentice-Hall, Englewood Cliffs.
Meyer, B. (1992) “Eiffel: The Language”, Prentice-Hall, New York.
Meyer, B. (1996) “The many faces of inheritance: A taxonomy of taxonomy”, IEEE Computer, May, 1996, pp. 105–108.
Porter, III, H.H. (1992) “Separating the Subtype Hierarchy from the Inheritance of Implementation”, Journal of Object-Oriented Programming, 4, 9.
Schaffert, C. et. al. (1986) “An Introduction to Trellis/Owl”, OOPSLA '86 Proceedings.
Snyder, A. (1986) “Encapsulation and Inheritance in Object-Oriented Programming Languages”, OOPSLA '86 Proceedings, pp. 38–45
Sun Microsystems, Inc. (1995) “The Java Language Specification”, Version 1.0 Beta.
Szyperski, C. (1992) “Import is Not Inheritance. Why We Need Both: Modules and Classes”, Proceedings ECOOP '92, LNCS 615, Springer Verlag.
Wegner, P. (1987) “Dimensions of Object-Based Language Design”, OOPSLA '87 Proceedings, pp. 168–182
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Evered, M., Keedy, J.L., Schmolitzky, A., Menger, G. (1997). How well do inheritance mechanisms support inheritance concepts?. In: Mössenböck, H. (eds) Modular Programming Languages. JMLC 1997. Lecture Notes in Computer Science, vol 1204. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62599-2_44
Download citation
DOI: https://doi.org/10.1007/3-540-62599-2_44
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62599-5
Online ISBN: 978-3-540-68328-5
eBook Packages: Springer Book Archive