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.
Original language | English |
---|---|
Pages (from-to) | 438-479 |
Journal | ACM Computing Surveys |
Volume | 28 |
Issue number | 3 |
DOIs | |
Publication status | Published - Sept 1996 |
Externally published | Yes |
Publication type | A1 Journal article-refereed |