繁体   English   中英

它在创建另一个对象时创建的类和对象的UML关系?

[英]UML relationship of class and object it creates inside the creation of another object?

例如,在java中:

public class App {

    public void method() {

        Object1 o1 = new Object1(new Object2(parameters));
    }

}

我知道 App 和 Object1 有组合关系。

但是 App 和 Object2 呢? 它也是一个组合吗?

在方法中使用类不足以建立关联

您的类App没有类Object1Object2字段。 它只是在方法的实现中使用Object1Object2 这不足以建立关联: AppObjectX之间没有概念上的关系; 这只是一个实现细节。 而且由于组合是一种特殊的联想,所以也不存在组合。

使用类意味着依赖

由于您的App使用Object1Object2 ,因此存在«use» 依赖项App需要知道这些类。 你可以用一个开放的虚线箭头来显示这种依赖关系。

但是,您示例中的依赖项仅在方法实现的级别,而不是在类本身的级别。 否则,您可以实现该方法。 因此,我建议不要在您的模型中显示这种不稳定的依赖关系。 如果类定义本身将使用这样的对象(例如,如果一个方法将返回一个ObjectX或使用一个ObjectX参数),则该依赖项将是可取的。

术语:并非所有的作品都是作品!

正如所解释的,这里没有组合。 然而,这个词是模棱两可的:

  • 它可能意味着对象组合 这只是关于具有另一个类的字段的对象。
  • 它可能意味着UML 组合 这是一种特殊的具有独家所有权的关联

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM