P
peterberggren
A link is an instance of an association. Visio enforces the corresponding
semantics; if link L instantiates association A, it must connects objects
that instantiate the two classes that comprise the endpoints of association
A. E.g. if association A connects classes C1 and C2, then link L (an
instance of association A) must connect objects of classes C1 and C2. So far
so good.
However, it appears in this regard Visio does not consider the implications
of generalization relationships between classes. Continuing the above
example... it should be possible for link L to connect an object of class C1
with an object of class C3, as long as C3 is a subclass of C2. That is, C3
inherits the association A from its superclass, C2. Unfortunately Visio does
not permit this. Given that any non-trivial class diagram will include
generalization relationships, this defect cripples the use of links.
Am I wrong?
semantics; if link L instantiates association A, it must connects objects
that instantiate the two classes that comprise the endpoints of association
A. E.g. if association A connects classes C1 and C2, then link L (an
instance of association A) must connect objects of classes C1 and C2. So far
so good.
However, it appears in this regard Visio does not consider the implications
of generalization relationships between classes. Continuing the above
example... it should be possible for link L to connect an object of class C1
with an object of class C3, as long as C3 is a subclass of C2. That is, C3
inherits the association A from its superclass, C2. Unfortunately Visio does
not permit this. Given that any non-trivial class diagram will include
generalization relationships, this defect cripples the use of links.
Am I wrong?