Рисование диаграммы сотрудничества с использованием фрагмента кода на Java

Мне нужно написать диаграмму сотрудничества для этого фрагмента кода:

      public static void main(String[] args){
Playlist list = new Playlist();
list.add(new mp3("song1",5));
list.add(new wav("song2",6));
list.add(new mp3("song3",7));

list.play();

Где mp3 и wav - классы, унаследованные от класса Track, и у них есть конструктор с двумя аргументами. Кроме того, функция add принимает один аргумент типа Track. Итак, я думаю, что у нас должно быть 3 самовызова (для каждого вызова метода add), потому что это функция из списка классов, а затем один (также самовызов) для воспроизведения функции. Но не уверен, как включить объекты класса mp3 и класса wav, потому что мы вызываем только функции из списка воспроизведения класса. Итак, я не уверен, почему мы вызываем функцию play из класса mp3 (wav), а не из списка воспроизведения класса. А с другой стороны мы вызываем функцию play из play-листа.

1 ответ

Пример кода показывает только то, что делает основная функция. Поэтому все ссылки должны начинаться с . Я бы нарисовал следующие ссылки:

  • " 1 new", от до
  • " 2 new("song1",5)", от до anonymous1:mp3
  • " 3 add(anonymous1)", от до
  • " 4 new("song2",6)", от до anonymous2:wav
  • " 5 add(anonymous2)", от до
  • " 6 new("song3",7)", от до anonymous3:mp3
  • " 7 add(anonymous3)", от до
  • " 8 play()", из mainк list:Playlist
Другие вопросы по тегам