Abstract
One of the most intriguing-and at the same time most problematic-notions in object-oriented programming is inheritance. Inheritance is commonly regarded as the feature that distinguishes object-oriented programming from other modern programming paradigms, but researchers rarely agree on its meaning and usage. Yet inheritance is often hailed as a solution to many problems hampering software development, and many of the alleged benefits of object-oriented programming, such as improved conceptual modeling and reusability, are largely credited to it. This article aims at a comprehensive understanding of inheritance, examining its usage, surveying its varieties, and presenting a simple taxonomy of mechanisms that can be seen as underlying different inheritance models. Categories and Subject Descriptors: D.1.5. [Programming Techniques]: Object-Oriented Programming; D.3.2. [Programming Languages]: Language Classifications object-oriented languages; D.3.3. [Programming Languages]: Language Constructs and Features. © 1996, ACM. All rights reserved.
Author supplied keywords
Cite
CITATION STYLE
Taivalsaari, A. (1996). On the Notion of Inheritance. ACM Computing Surveys, 28(3), 438–479. https://doi.org/10.1145/243439.243441
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.