Object Class Definition by Generalization Using Upward Inheritance

M. Schrefl, E. J. Neuhold
Schr88a (1988)
Proceedings of the Fourth International Conference on Data Engineering (ICDE 1988), Los Angeles, Calif., U.S.A., February 1-5, 1988, IEEE Computer Society Press, ISBN 0-8186-0827-7, pp. 4-13, 1988.
Kopie  (Senden Sie ein Email mit  Schr88a  als Betreff an dke.win@jku.at um diese Kopie zu erhalten)


The principle of object class definition by object class refinement is one of the prominent features used in object-oriented programming to achieve reusability of code and data. Object classes are defined as specializations of more general ones and inherit those object classes' properties.

Whenever predefined object classes have to be combined, the inverse to specialization, generalization, is needed. We encounter such a situation in a centralized system when it is developed bottom up using already designed object classes, or in a distributed system when a multidatabase view has to be provided as a homogeneous interface to a set of predefined heterogeneous databases.

In this paper we show how the process of object class definition by generalization can be incorporated into object-oriented systems. Traditional message handling, which is mainly based on downward property inheritance, is revisited and extended to upward property inheritance such that a maximum of reusability of code and data can be achieved. Different types of semantic relationships that may hold between a generalization class's subclasses and their attributes are identified. The different semantic relationships can then be utilized to produce different default treatments of messages and upward property propagation.