The real reason for an abstract class is to point out that any object that might fall into the class must actually be a member of one of the specialization classes. This is accomplished in OSA with the union specialization constraint. However, since C++ and most other object-oriented programming languages allow an object to be a member of only one class, the partition specialization constraint is actually OSA concept that is the most like an abstract class.
See also, a comparison between OSA and other models' Generalization/Specialization.
Go to the OSA Tutorial ORM
Last updated 27 Sept 1994 by Barry Roberts(firstname.lastname@example.org)