Pieter Bekaert, Geert Delanote, Frank Devos and Eric Steegmans
Department of Computer Science
Katholieke Universiteit Leuven, Belgium
{pieter.bekaert,geert.delanote,frank.devos, eric.steegmans}@cs.kuleuven.ac.be
Abstract. The driving force in object-oriented analysis to use the concept
of
specialization/generalization is polymorphism: the capability and need
to
reason
about the union of the sets of objects of the specialization classes.
Hereby
features will be defined at the appropriate place. The fact that classes
have
common features is not a sufficient condition to generalize. The principle
of
strengthening specifications of features is an indispensable rule to
manage
class
hierarchies. From the viewpoint of polymorphism, multiple
specialization/generalization is only a logical extension of this modeling
concept and not an optional or exotic one. Further, we discuss some
guidelines
to build sound class hierarchies, such as using (multiple) partitions.