Ассоциация и зависимость между двумя классами UML Diagram - PullRequest
0 голосов
/ 14 марта 2019

У меня вопрос, если между двумя классами мы можем одновременно иметь отношение Ассоциации и Зависимости.Я предполагаю, что если у нас есть связь между 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 ]

0 голосов
/ 14 марта 2019

Ассоциация является более сильной формой зависимости. Поэтому, если у вас есть ассоциация (то есть хотя бы один класс может «видеть» другой через свойство), у вас уже есть зависимость. Зависимость иногда используется на ранней стадии проектирования, а затем заменяется ассоциацией. В этом случае вы удалите зависимость. (Конечно, когда есть ассоциация, у вас, очевидно, есть зависимость, не так ли?) Вы покажете просто зависимость, если нет свойства, и один класс использует другой, например. как параметр в операциях.

0 голосов
/ 14 марта 2019

Рассматривая семантику UML, вы не можете опустить зависимость в целом.Поскольку, по определению, «спецификация или реализация» зависимого элемента зависит от спецификации или реализации независимого элемента.Напротив, ассоциация - это связь между экземплярами этих связанных типов.Одним из следствий этого является то, что, будучи связанными, спецификации обоих классов все еще независимы.

...