【问题标题】:Association and Dependency between 2 classes UML Diagram2类UML图之间的关联和依赖
【发布时间】:2019-03-13 21:03:27
【问题描述】:

我的问题是,如果在 2 个类之间,我们可以同时拥有关联关系和依赖关系。我想如果我们在 2 个类之间有关联,则依赖项已经包含在内。 例如:

abstract class CarDealer {
  protected String name;
  protected int soldCars;
  public Car (String name) {...}
  public abstract int getSoldCars(){...}
  public void sellCar(){...}
}

public class SimpleCarDealer extends CarDealer{
  private CarDealer bestColleague;
  public SimpleCarDealer(String name){...}
  public int getSoldCars(){...}
  public void serBestColleadue(CarDealer cd){...}
}

【问题讨论】:

  • 同一对类之间可以有多个关系。如果你这样做了,那么它们可以是不同的类型。
  • “我想如果我们有 2 个类之间的关联,则依赖关系已经包含在内。” 是的,依赖关系是隐式的。无论如何,如果需要,您也可以拥有依赖关系,这不是被禁止的
  • 在这种情况下,您似乎同时拥有泛化 (extends Cardealer) 和关联 (private CarDealer bestColleague;)

标签: java dependencies uml associations


【解决方案1】:

关联是一种更强的依赖形式。因此,一旦您有了关联(即至少一个类可以通过属性“看到”另一个类),您就已经有了依赖关系。依赖项有时用于早期设计阶段,后来被关联替换。在这种情况下,您将删除依赖项。 (当然,当存在关联时,您显然有依赖关系,不是吗?)如果没有属性并且一个类使用另一个类,您将只显示一个依赖关系,例如作为操作中的参数。

【讨论】:

    【解决方案2】:

    在查看 UML 的语义时,通常不能忽略依赖关系。因为,根据定义,从属元素的“规范或实现”取决于独立元素的规范或实现。相反,关联是这些关联类型的实例之间的关系。一个后果是,当蜜蜂关联时,两个类的规范仍然是独立的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 2014-07-01
      • 2014-07-17
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多