Jul 27, 1999
T. Eirich, F. J. Hauck
english, 15 pages
Abstract: Inheritance is an important concept in object-oriented programming. The mechanisms provided by many existing programming languages combine reuse of types and reuse of implementations. These mechanisms often violate encapsulation. Changes to an inheritance hierarchy affect related implementations. We separate type and class (implementation) and identify visibility of attributes and the binding of attributes to names as basic dimensions of class-based inheritance. To retain encapsulation we state requirements to an inheritance mechanism and show how to fulfill them with an approach to inheritance by aggregation. Initialization is used to change bindings of attributes.
[Full Paper (ps,http) , 41 kB][Full Paper (pdf) , 44 kB]