Although closely related to the idea of inheritance or generalization-specialization from other object-oriented models and programming languages, the OSA notion is actually quite different. The key difference is pointed out by the name and the representation. OSA's generalization-specialization is actually just a special type of relationship set. This means that we could draw an object at the end of a gen-spec line. Does it make any sense to do that in C++? No. The reason is that inheritance and subclasses in C++ (and some other object-oriented methodologies) are actually relationships between their classes, not objects.
So what does this mean to you? For an example, see how it affects the concept of an Abstract Class.
Go to the
Last updated 27 Sept 1994 by Barry Roberts