在UML类图中,如何指定类的实际类型?

时间:2010-11-05 04:59:40

标签: java object uml

我正在写一个决策树类。为了使设计尽可能灵活,我想使用自定义的“TableDataGetter”接口获取决策树数据,该接口包含方法getData():String [*]。在我的特定实现中,我想使用一个实现“TableDataGetter”的类“TextTableDataGetter”。

如果我的理解是正确的,那么在UML类图中显示的方法是使用我的决策树类和“TableDataGetter”接口之间的组合关系。

我的问题是,在绘制图表的时候,我想指定我想使用“TextTableDataGetter”,如何在标准UML中编写它?

我希望在我的图表中尽可能具体,因为我正在使用UML软件为我生成代码,因为我正在进行头脑风暴。我想确定,在决策树类中,我将dataGetter变量声明为“TableDataGetter dataGetter = new TextTableDataGetter()”

1 个答案:

答案 0 :(得分:1)

我回答了类似的问题here,同样的答案如下。

聚合和组合都代表“有”关系。两者之间的区别在于组合是指独占所有权。例如,交易“具有”交易ID号,并且该交易是唯一具有该交易ID号的交易,该ID号是独占到交易。交易也“具有”交易日期,但许多交易也可能具有相同的交易日期。由于交易日期可以在多个交易之间共享,因此它不是独占

当您在UML类图上绘制这两种关系类型时,组合关系将用填充的菱形表示,其中聚合关系将由未填充的菱形表示。

alt text

本书Introduction to Java Programming详细介绍了这一主题。