面向对象的关联如何在继承的类中工作?(uml类图)

面向对象的关联如何在继承的类中工作?(uml类图),uml,class-diagram,Uml,Class Diagram,我试图理解一个uml测试问题。基类和继承类之间的关联是不同的,但是继承类也继承基类之间的关联吗?我的意思是,继承类实际上有两个关联吗 我也有不同的陈述,我需要从中选择正确的陈述。正确答案是A,但我不明白为什么A是正确的,而其他的是不正确的,所以如果可能的话,请解释每一句话 A) ConcreteSubject类的实例可能引用了零个或多个观察者类型的对象 B) Observer类的每个实例都有一个对Subject类的一个实例的引用 C) Subject类的每个实例都有一个对Observer类的一

我试图理解一个uml测试问题。基类和继承类之间的关联是不同的,但是继承类也继承基类之间的关联吗?我的意思是,继承类实际上有两个关联吗

我也有不同的陈述,我需要从中选择正确的陈述。正确答案是A,但我不明白为什么A是正确的,而其他的是不正确的,所以如果可能的话,请解释每一句话

A) ConcreteSubject类的实例可能引用了零个或多个观察者类型的对象

B) Observer类的每个实例都有一个对Subject类的一个实例的引用

C) Subject类的每个实例都有一个对Observer类的一个实例的引用

D) ConcreteSubject类的实例不能引用任何其他类的实例

E) ConcreteObserver类的实例可以引用ConcreteSubject类的零个或多个实例


谢谢大家!

[希望这个问题和答案能给大学教师带来一些压力,让他们关心考试/测验问题的质量。]

首先,必须注意类图有几个缺陷。角色名称“subject”和“object”位于错误(相反)的关联端。然后,正如您所想的那样,subject-objects关联被复制了,因为它是继承的

关于这些问题,答案A和B都是正确的,而其他答案都是错误的。这直接源于阅读一对多主题对象关联的多重性约束

顺便说一句,答案选项B和C的措辞有点缺陷:说“观察者(或主题)类的每个实例”可能会令人困惑,因为这些类是抽象的(用斜体字表示),这意味着它们没有自己的(直接)实例。然而,在一般意义上,可以说它们确实有实例,即它们的具体子类的所有实例。因此,这两个答案选项令人困惑。但是,对于任何类型的考试来说,不使用令人困惑的问题都是一项重要的公平要求

我猜你们的老师认为答案B是错误的,因为它是关于抽象类和主题的实例。然而,以目前的形式,答案B是正确的。只有将其改写为“观察者(或主题)类的每个直接实例”时,它才是不正确的

答案C不正确,因为Subject类的实例可能没有指向任何观察者的链接(这由多重性表达式中的0表示)

答案D不正确,因为模型不包含任何此类约束(顺便说一句,这没有任何意义)


答案E是不正确的,因为它与多重性约束相矛盾,即任何观察者都必须只观察一个主题,这一约束由多重性表达式
1

[这个问题和答案希望对大学教师产生一些压力,要求他们关注考试/测验问题的质量。]

首先,必须注意类图有几个缺陷。角色名称“subject”和“object”位于错误(相反)的关联端。然后,正如您所想的那样,subject-objects关联被复制了,因为它是继承的

关于这些问题,答案A和B都是正确的,而其他答案都是错误的。这直接源于阅读一对多主题对象关联的多重性约束

顺便说一句,答案选项B和C的措辞有点缺陷:说“观察者(或主题)类的每个实例”可能会令人困惑,因为这些类是抽象的(用斜体字表示),这意味着它们没有自己的(直接)实例。然而,在一般意义上,可以说它们确实有实例,即它们的具体子类的所有实例。因此,这两个答案选项令人困惑。但是,对于任何类型的考试来说,不使用令人困惑的问题都是一项重要的公平要求

我猜你们的老师认为答案B是错误的,因为它是关于抽象类和主题的实例。然而,以目前的形式,答案B是正确的。只有将其改写为“观察者(或主题)类的每个直接实例”时,它才是不正确的

答案C不正确,因为Subject类的实例可能没有指向任何观察者的链接(这由多重性表达式中的0表示)

答案D不正确,因为模型不包含任何此类约束(顺便说一句,这没有任何意义)


答案E是不正确的,因为它与多重性约束相矛盾,即任何观察者必须只观察一个主题,由多重性表达式
1

再次表示,不知道自己在教什么的教师:-(再次表示不知道自己在教什么的教师:-(