Skip to main content

The Impact of Inheritance on Software Structure

  • Chapter
Formal Methods and Object Technology

Abstract

In most object-oriented languages an inheritance hierarchy is assumed to represent a type inclusion hierarchy. However, inheritance, viewed from an architectural level of abstraction, can be seen as a simple extension of the module/package inclusion mechanisms (referred to here as import/export mechanisms) found in object-based languages such as Modula-2 [Wirth, 1988] and Ada [Booch, 1987]. One way to express the notion that inheritance is an extension of import/export mechanisms is to say that it allows the client-server relation between an exporting module and an importing module to be transitive, so that a client can transparently pass on services which it imports (i. e. inherits from parent classes) to its own clients. However, this extension, while useful, is far short of the expressive power needed to guarantee that valid type inclusion relations are properly captured in a class hierarchy. This chapter demonstrates these observations by presenting formal models of inheritance hierarchies, and of module hierarchies with import/exports, and defining a translation function from the former to the latter.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag London Limited

About this chapter

Cite this chapter

Goldsack, S.J., Kent, S.J.H. (1996). The Impact of Inheritance on Software Structure. In: Goldsack, S.J., Kent, S.J.H. (eds) Formal Methods and Object Technology. Formal Approaches to Computing and Information Technology. Springer, London. https://doi.org/10.1007/978-1-4471-3071-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3071-0_4

  • Publisher Name: Springer, London

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

  • Online ISBN: 978-1-4471-3071-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics