Extending ordinary inheritance schemes to include generalization
- 1 September 1989
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 24 (10) , 407-417
- https://doi.org/10.1145/74877.74920
Abstract
The arrangement of classes in a specialization hierarchy has proved to be a useful abstraction mechanism in class-based object oriented programming languages. The success of the mechanism is based on the high degree of code reuse that is offered, along with simple type conformance rules.The opposite of specialization is generalization. We will argue that support of generalization in addition to specialization will improve class reusability. A language that only supports specialization requires the class hierarchy to be constructed in a top down fashion. Support for generalization will make it possible to create super-classes for already existing classes, hereby enabling exclusion of methods and creation of classes that describe commonalties among already existing ones.We will show how generalization can coexist with specialization in class-based object oriented programming languages. Furthermore, we will verify that this can be achieved without changing the simple conformance rules or introducing new problems with name conflicts.This publication has 5 references indexed in Scilit:
- Distrbution and Abstract Types in EmeraldIEEE Transactions on Software Engineering, 1987
- An alternative to subclassingPublished by Association for Computing Machinery (ACM) ,1986
- Using prototypical objects to implement shared behavior in object-oriented systemsPublished by Association for Computing Machinery (ACM) ,1986
- Object structure in the Emerald systemPublished by Association for Computing Machinery (ACM) ,1986
- On understanding types, data abstraction, and polymorphismACM Computing Surveys, 1985