Skip to main content

How well do inheritance mechanisms support inheritance concepts?

  • Conference paper
  • First Online:
Modular Programming Languages (JMLC 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1204))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. Beeri, C. (1990) “A Formal Approach to Object-Oriented Databases”, Data and Knowledge Engineering, 5, 4, pp. 353–382.

    Google Scholar 

  3. Bracha, G. & Cook, W. (1990) “Mixin-based Inheritance”, OOPSLA '90 Proceedings.

    Google Scholar 

  4. Cardelli, L. & Wegner, P. (1985) “On understanding types, data abstractions and polymorphism”, ACM Computing Surveys, 17, 4, pp. 471–522.

    Article  Google Scholar 

  5. Cook, W. & Palsberg, J. (1989) “A Denotational Semantics of Inheritance and its Correctness”, OOPSLA '89 Proceedings.

    Google Scholar 

  6. Cook, W.R. (1989) “A Proposal for Making Eiffel Type-Safe”, ECOOP '89 Proceedings.

    Google Scholar 

  7. Cook, W.R., Hill, W.L. & Canning, P.S. (1990) “Inheritance is not Subtyping”, Proceedings 17th ACM Symposium on Principles of Programming Languages.

    Google Scholar 

  8. DeMichiel, L. & Gabriel, R. (1987) “The Common Lisp Object System”, ECOOP '87 Proceedings, pp.151–170.

    Google Scholar 

  9. Goldberg, A. & Robson, D. (1989) “Smalltalk-80: the language”, Addison-Wesley Series in Computer Science.

    Google Scholar 

  10. Kristensen, B.B., et.al. (1989) “The Beta Programming Language — a Scandinavian Approach to Object-Oriented Programming”, OOPSLA '89 Tutorial Notes.

    Google Scholar 

  11. Khoshafian, S. & Abnous, R. (1990) “Object Orientation”, Wiley, New York.

    Google Scholar 

  12. LaLonde, W., Thomas, D. & Pugh, J. (1986) “An Exemplar-Based Smalltalk”, OOPSLA '86 Proceedings.

    Google Scholar 

  13. LaLonde, W. & Pugh, J. (1991) “Subclassing ≠ Subtyping ≠ Is-a”, Journal of Object-Oriented Programming, 3/91, pp. 57–62.

    Google Scholar 

  14. Liskov, B. (1987) “Data Abstraction and Hierarchy”, OOPSLA '87 Addendum to the Proceedings.

    Google Scholar 

  15. Meyer, B. (1986) “Genericity versus Inheritance”, OOPSLA '86 Proceedings.

    Google Scholar 

  16. Meyer, B. (1988) “Object-Oriented Software Construction”, International Series in Computer Science, Prentice-Hall, Englewood Cliffs.

    Google Scholar 

  17. Meyer, B. (1992) “Eiffel: The Language”, Prentice-Hall, New York.

    Google Scholar 

  18. Meyer, B. (1996) “The many faces of inheritance: A taxonomy of taxonomy”, IEEE Computer, May, 1996, pp. 105–108.

    Google Scholar 

  19. Porter, III, H.H. (1992) “Separating the Subtype Hierarchy from the Inheritance of Implementation”, Journal of Object-Oriented Programming, 4, 9.

    Google Scholar 

  20. Schaffert, C. et. al. (1986) “An Introduction to Trellis/Owl”, OOPSLA '86 Proceedings.

    Google Scholar 

  21. Snyder, A. (1986) “Encapsulation and Inheritance in Object-Oriented Programming Languages”, OOPSLA '86 Proceedings, pp. 38–45

    Google Scholar 

  22. Sun Microsystems, Inc. (1995) “The Java Language Specification”, Version 1.0 Beta.

    Google Scholar 

  23. Szyperski, C. (1992) “Import is Not Inheritance. Why We Need Both: Modules and Classes”, Proceedings ECOOP '92, LNCS 615, Springer Verlag.

    Google Scholar 

  24. Wegner, P. (1987) “Dimensions of Object-Based Language Design”, OOPSLA '87 Proceedings, pp. 168–182

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hanspeter Mössenböck

Rights and permissions

Reprints 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

Publish with us

Policies and ethics