Single versus multiple inheritance in object oriented programming

  • Authors:
  • Ghan Bir Singh

  • Affiliations:
  • -

  • Venue:
  • ACM SIGPLAN OOPS Messenger
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

Inheritance is one of the key elements of Object oriented programming. Inheritance is characterized as single or multiple depending on the number of classes a class can inherit from. Single inheritance is simple but restrictive. Multiple inheritance on the other hand is complex but allows a more natural definition of relationships between classes. There has been a significant amount of discussion on the value of multiple inheritance over single inheritance considering the complexity multiple inheritance adds. This paper reviews the two types of inheritance and examines their benefits. The paper then examines the issues and objections that have been raised on the two inheritance mechanisms. Graph, Linear, and Tree oriented implementations of multiple inheritance are reviewed to see how multiple inheritance issues are handled by various object oriented languages.