Extending ordinary inheritance schemes to include generalization

  • Authors:
  • C. H. Pedersen

  • Affiliations:
  • Hewlett Packard Laboratories, Filton Road, Stoke Gifford, Bristol BS12 6QZ, England

  • Venue:
  • OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
  • Year:
  • 1989

Quantified Score

Hi-index 0.02

Visualization

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.