Skip to main content

A Marriage of Class- and Object-Based Inheritance Without Unwanted Children

  • Conference paper
  • First Online:

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

Abstract

Class-based languages have often been criticised for their rigidity. Prototype-based languages on the other hand are usually considered too flexible. We claim that this flexibility is inherently correlated to encapsulation problems. We therefore propose a new scale of ‘encapsulated’ inheritance mechanisms on objects that combine the object model of class-based languages with the inheritance mechanism of prototype-based languages. It is shown that they combine the advantages but shun the disadvantages of both paradigms. A denotational semantics of an exemplar encapsulated inheritance mechanism on objects is given and compared with the standard denotational semantics of class- and object-based inheritance. This comparison confirms our claims.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   74.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Bracha. The Programming Language Jigsaw: Mixins, Modularity and Multiple Inheritance. PhD thesis, Department of Computer Science, University of Utah, March 1992.

    Google Scholar 

  2. G. Bracha and W. Cook. Mixin-based Inheritance. In Proceedings of the ACM Joint OOPSLA/ECOOP’90 Conference, ACM Sigplan Notices, 25(10), pp.303–311, ACM Press 1990.

    Google Scholar 

  3. W. Codenie, K. De Hondt, T. D’Hondt, P. Steyaert. Agora: Message Passing as a Foundation for Exploring OO Languages. ACM Sigplan Notices, 29(12), pp. 48–57, ACM Press 1994.

    Google Scholar 

  4. W. Cook and J. Palsberg. A Denotational Semantics of Inheritance and its Correctness. In Proceedings of the OOPSLA’89 Conference, ACM Sigplan Notices Vol. 24(10), pp433–443, ACM Press 1989.

    Google Scholar 

  5. C. Dony, J. Malenfant, P. Cointe. Prototype-Based Languages: From a New Taxonomy to Constructive Proposals and Their Validation. In Proceedings of the OOPSLA’92 Conference, ACM Sigplan Notices Vol. 27(10), pp201–217, ACM Press 1992.

    Google Scholar 

  6. A.V. Hense. Denotational Semantics of an Object-oriented Programming Language with Explicit Wrappers. Formal Aspects of Computing, pp. 3:1–000, 1992.

    Google Scholar 

  7. S.N. Kamin and U.S. Reddy. Two Semantic Models of Object-Oriented Languages. In Theoretical of Object-Oriented Programming, C.A. Gunter and G.C. Mitchell (Eds.), MIT Press, 1994.

    Google Scholar 

  8. G. Kiczales and J. Lamping. Issues in the Design and Documentation of Class Libraries. In Proceedings of the OOPSLA’92 Conference, ACM Sigplan Notices Vol. 27(10), pp435–451, ACM Press 1992.

    Google Scholar 

  9. J. Lamping. Typing the Specialisation Interface. In Proceedings of the OOPSLA’93 Conference, ACM Sigplan Notices Vol. 28(10), pp201–214, ACM Press 1993.

    Google Scholar 

  10. H. Lieberman. Using Prototypical Objects to Implement Shared Behaviour in an Object-Oriented System. In Proceedings of the OOPSLA’86 Conference, ACM Sigplan Notices, 21(11), pp. 214–223, ACM Press, 1986.

    MathSciNet  Google Scholar 

  11. C. Lucas, P. Steyaert. Modular Inheritance of Objects Through Mixin-Methods. In Proceedings of JMLC, (Peter Schulthess, ed.), pp. 273–282, Universitätsverlag ulm GmbH, 1994.

    Google Scholar 

  12. T. Mens, K. Mens, P. Steyaert. OPUS, a Formal Approach to Object-Orientation. In Proceedings of FME’94, Formal Methods Europe, pp. 326–345, Lecture Notes in Computer Science 873, M. Naftalin, T. Denvir, M. Bertran (Eds.), Springer-Verlag, 1994.

    Google Scholar 

  13. O. NierStrasz. A Survey of Object-Oriented Concepts. In Object-Oriented Concepts, Databases, and Applications, W. Kim and F.H. Lochovsky (Eds.), pp. 3–21, ACM Press and Addison-Wesley, 1989.

    Google Scholar 

  14. D.A. Schmidt. Denotational Semantics: A Methodology for Language Development. Wm C. Brown Publishers (Dubuque Iowa), 1988.

    Google Scholar 

  15. A. Snyder. Encapsulation and Inheritance in Object-Oriented Programming Languages. In Proceedings of the OOPSLA’86 Conference, ACM Sigplan Notices, 21(11), pp 38–45, ACM Press, 1986.

    Google Scholar 

  16. L.A. Stein. Delegation is Inheritance, In Proceedings of the OOPSLA’87 Conference, ACM Sigplan Notices, 22(12), pp. 138–146, ACM Press, 1987.

    Google Scholar 

  17. L.A. Stein, H. Lieberman, D. Ungar. A Shared View of Sharing: The Treaty of Orlando. In Object-Oriented Concepts, Databases, and Applications, W. Kim and F.H. Lochovsky (Eds.), pp. 31–48, ACM Press 1989.

    Google Scholar 

  18. P. Steyaert. Open Design of Object-Oriented Languages: A Foundation for Specialisable Reflective Language Frameworks. Phd. thesis Vrije Universiteit Brussel, 1994.

    Google Scholar 

  19. P. Steyaert, W. Codenie, T. D’Hondt, K. De Hondt, C. Lucas, M. Van Limberghen. Nested Mixin-Methods in Agora. In Proceedings of ECOOP’93 7th European Conference on Object-Oriented Programming, Lecture Notes in Computer Science 707, O. Nierstrasz (Ed.), pp. 197–219, Springer-Verlag, 1993.

    Google Scholar 

  20. P. Wegner. Dimensions of Object-Based Language Design. In Proceedings of the OOPSLA’87 Conference, ACM Sigplan Notices, 22(12), pp. 168–182, ACM Press, 1987.

    Google Scholar 

  21. P. Wegner, S. B. Zdonik. Inheritance as an Incremental Modification Mechanism, or What Like is and Isn’t Like. In Proceedings of ECOOP’88 European Conference on Object-Oriented Programming, Lecture Notes in Computer Science 322, S. Gjessing and K. Nygaard (Eds.), pp.55–77, Springer-Verlag 1988.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Steyaert, P., De Meuter, W. (1995). A Marriage of Class- and Object-Based Inheritance Without Unwanted Children. In: Tokoro, M., Pareschi, R. (eds) ECOOP’95 — Object-Oriented Programming, 9th European Conference, Åarhus, Denmark, August 7–11, 1995. ECOOP 1995. Lecture Notes in Computer Science, vol 952. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49538-X_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-49538-X_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60160-9

  • Online ISBN: 978-3-540-49538-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics