Journal of object-oriented programming vol:11 issue:8 pages:29-36
The goals of specialization inheritance are not yet entirely mot by the current object-oriented (00) languages. There are two subtle problems posed by specialization inheritance: the overhead in object representation that must be coped with in subclasses, and the need to redefine most of the inherited operations. The first problem has a direct impact on both storage requirements and speed. The impact of the second problem defeats the purpose of inheritance in the first place as a means for code reuse. We propose a remedy for these two problems. The proposal is based on the use of compiler-generated operations to access and assign to instance variables, and on new language constructs that direct the compiler to generate these operations correctly. The proposal is worked out in C++,(5) but can be easily incorporated in other 00 languages.