On the Notion of Inheritance (1996) by Antero Taivalsaari
On the Notion of Inheritance (1996) by Antero Taivalsaari (citeseerx.ist.psu.edu)
CiteSeerX - Document Details (Isaac Councill, Lee Giles, Pradeep Teregowda): 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.
Inheritance, like OO is one of those concepts that is ill-defined, with a variety of different implementations and uses. This paper is an excellent summary of the different forms and uses of inheritance. Delegation vs Composition, Subclassing vs Code-Reuse, Late vs Early binding, and various other technicalities often glossed over.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 modelling 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.