On the notion of inheritance
- 1 September 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 28 (3) , 438-479
- https://doi.org/10.1145/243439.243441
Abstract
One of the most intriguing—and at the same time most problematic—notions in object-oriented programing 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 of 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.Keywords
This publication has 47 references indexed in Scilit:
- On the notion of objectJournal of Systems and Software, 1993
- Interfaces and specifications for the Smalltalk-80 collection classesACM SIGPLAN Notices, 1992
- Parents are shared parts of objects: Inheritance and encapsulation in SELFHigher-Order and Symbolic Computation, 1991
- Object specializationACM Transactions on Information Systems, 1989
- Designing families of data types using exemplarsACM Transactions on Programming Languages and Systems, 1989
- Type theories and object-oriented programmimgACM Computing Surveys, 1988
- Object-oriented programming: an objective sense of styleACM SIGPLAN Notices, 1988
- Delegation is inheritanceACM SIGPLAN Notices, 1987
- Enhancement for multiple-inheritanceACM SIGPLAN Notices, 1986
- CommonObjectsACM SIGPLAN Notices, 1986