Skip to main content

An algebraic view of inheritance and subtyping in object oriented programming

  • Conference paper
  • First Online:
ESEC '91 (ESEC 1991)

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

Included in the following conference series:

Abstract

In Object Oriented Programming the powerful mechanism of inheritance allows the definition of classes starting from variables and methods of another class previously defined. Inheritance can be viewed as a relation between classes, which suggests how classes can be arranged in hierarchies. The hierarchies contain two kind of information: on the one hand, they indicate how programs are structured, how code is shared among classes; on the other hand, they give information about compatible assignment rules, which are based on subtyping.

In order to distinguish between code sharing, which is related to implementational aspects, and functional specialization, which is connected to the external behavior of objects, we introduce an algebraic specification based formalism, by which one can specify the behavior of a class and state when a class is to be considered subtype or inherits another one. It is shown that implementation inheritance can be reduced to specialization inheritance with respect to a virtual class.

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. P.America A behavioural approach to subtyping in Object-Oriented Programming Languages Proc. REX/FOOL, 1990

    Google Scholar 

  2. L.Cardelli A Semantics of multiple inheritance Proc. Semantics of Data Types, LNCS 173, 1984, pp.51–68

    Google Scholar 

  3. S.Clerici, F.Orejas GSBL: an algebraic specification language based on inheritance Proc. ECOOP 1988, LNCS 322

    Google Scholar 

  4. H.Ehrig, B.Mahr Fundamentals of Algebraic Specification 1 EATCS, Springer Verlag, 1985

    Google Scholar 

  5. H.Ehrig, B.Mahr Fundamentals of Algebraic Specification 2 EATCS, Springer Verlag, 1990

    Google Scholar 

  6. H.Ehrig, H.Weber Algebraic Specification of modules in ‘Formal Models in Programming’ (Neuhold E.J., Chronist G.,eds) North-Holland, 1985

    Google Scholar 

  7. M.C.Gaudel.Th.Moineau A Theory of Software Reusability ESOP 88, LNCS 300, pp.115–130

    Google Scholar 

  8. S.Gibbs, D.Tsichritzis, E.Casais Class Management for Software Communities Communication of the ACM,33,9 (Sept 90) pp.90–103

    Google Scholar 

  9. J.A.Goguen, R.Burstall Introducing Institutions Proc. Logics of Programming Workshop (E.Clarke, ed.) 1983

    Google Scholar 

  10. B.Liskov Data Abstraction and Hierarchy Addendum to the Proc. OOPSLA 87, 1987, pp.17–34

    Google Scholar 

  11. B.Meyer Genericity versus Inheritance Proc. OOPSLA '86, 1986, pp.391–405

    Google Scholar 

  12. F.Parisi-Presicce A rule-based approach to modular system design Proc. 12th ICSE, Nice 1990

    Google Scholar 

  13. A.Pierantonio Problemi di ereditarietà e sottotipo in metodologie orientate agli oggetti Tesi di Laurea in Sc.Inf., Università de L'Aquila, December 1990

    Google Scholar 

  14. D.Sannella, A.Tarlecki Building Specifications in an arbitrary Institution Proc. Semantics of Data Type, LNCS 173, 1984, pp.337–356

    Google Scholar 

  15. A.Snyder Encapsulation and Inheritance in Object-Oriented Programming Languages Proc. OOPSLA '86, 1986, pp.38–45

    Google Scholar 

  16. B.Stroustrup The C++ Programming Language Addison-Wesley,1986

    Google Scholar 

  17. H.Weber, H.Ehrig Specification of Modular Systems Transaction of Software Engineering, June 1986

    Google Scholar 

  18. R.Wiener, L.Pinson An introduction to Object-Oriented Programming and Smalltalk Addison-Wesley,1988

    Google Scholar 

  19. R.J.Wirfs-Brock, R.E.Johnson Surveying Current Research in Object-Oriented Design Communication of the ACM,33,9 (Sept 90) pp.104–124

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Axel van Lamsweerde Alfonso Fugetta

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Presicce, F.P., Pierantonio, A. (1991). An algebraic view of inheritance and subtyping in object oriented programming. In: van Lamsweerde, A., Fugetta, A. (eds) ESEC '91. ESEC 1991. Lecture Notes in Computer Science, vol 550. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3540547428_58

Download citation

  • DOI: https://doi.org/10.1007/3540547428_58

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54742-6

  • Online ISBN: 978-3-540-46446-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics