我是UML的新手并试图了解类图。例如,请参见下图(假设范围是公共的):
a class diagram http://i44.tinypic.com/156wdq1.jpg
类1可以直接访问其他类中的任何方法和属性,还是只能访问自己的方法和属性?类似地,例如,类2可以访问类1中的方法和属性吗?
我要问的主要原因是我需要生成一个报告操作,它计算天数收入和收入将通过迭代类和总计然后返回值来计算。
非常感谢
答案 0 :(得分:2)
参见http://www.objectmentor.com/resources/articles/umlClassDiagrams.pdf,组成关系段落。
它说:
In UML relationships are presumed to be bidirectional unless the arrowhead is
present to restrict them.
意思是因为你的例子中有一个箭头,所以class1只能访问class2,而不是相反。
答案 1 :(得分:1)
您正在显示Class 1和Class 2之间的单向关联以及Class 2到Class 3,4和5的泛化。在这种情况下,Class 1可以看到Class 2的所有公共属性和方法。它还能够看到类3,4和5的相同属性和方法。但是,它没有显示对3,4和5类的任何扩展属性和方法的可见性。此外,类2不由于单向关系,我们可以看到1类属性或方法。
请记住,UML中显示的内容并不是对可见性在实现中如何工作的严格描述。您正在展示UML中的重要关系。例如,即使您没有显示第1类到第2类的可见性,您的第2类实施也很可能会看到第1类的所有公共成员。