0

Я начинаю изучать java и пересматривать экзамены, отвечая на вопросы предыдущих экзаменационных документов, и есть один вопрос, на который я застрял.Решение UML в Java-сценарии

Проект OO для игры определил следующие классы: ИГР, УРОВЕНЬ, ХАРАКТЕР, ГЕРОИ, ВРАГИ И ГАМОРОР. HERO и ENEMY - оба типа ХАРАКТЕРА. ИГР имеет место в конкретном GAMEWORLD. У ИГРЫ несколько УРОВНЕЙ. Каждый УРОВЕНЬ имеет HERO CHARACTER и множество ВРАЩАЮЩИХСЯ ХАРАКТЕРОВ, которые могут появляться и удаляться.

Нарисуйте диаграмму UML для этих классов в приведенном выше сценарии, очистив соответствующие соединители между классами. (Там нет необходимости давать какие-либо детали в коробках класса.)

Я не знаю, как рисовать UML разъемов здесь, но это то, что я ответил:

HERO и ВРАГ являются связано с характером через наследование

ИГРОВОЙ и уровня связаны с помощью композиции

уровень связан с HERO и ВРАГА через агрегирование

GAME связана с Gameworld через наследование

Я был бы признателен, если кто-то может проверить меня, если эти ответы являются правильными? Заранее спасибо.

ответ

1

Практически право. Игра не наследуется от GameWorld. GameWorld имеет агрегирование, указывающее на игру (это отношение «один ко многим»).

+0

Спасибо за помощь :). – user1279780

1

Исправить, за исключением отношений GAME и GAMEWORLD.

  • HERO и ВРАГ как наследовать от ХАРАКТЕРА =>Наследование
  • GAME содержит УРОВНЕЙ, но уровень не может существовать без игры =>Состав
  • УРОВЕНЬ может содержать символ HERO и несколько символов Enemy но он также может быть пустым =>Агрегация
  • ИГРОВАЯ ДЕЯТЕЛЬНОСТЬ имеет место в GAMEWORLD, но GAME не может существовать без Gameworld =>Состав

Посмотрите на the difference between Aggregation and Composition на Википедии.

+0

Благодарим вас за информацию, я знал о различии между агрегацией и составом (агрегация - более слабая форма композиции), но когда дело доходит до сценариев, я иногда путаю. Благодаря вашему ответу я теперь более четко понимаю сценарий. В очередной раз благодарим за помощь:). – user1279780

+0

@ user1279780 На StackOverflow не нужно (или рекомендуется) использовать комментарии, чтобы поблагодарить людей.Возьмите их ответ и, особенно, ** примите ** его. –