UML - Метод объекта возвращает набор

Как я могу указать, что метод возвратит набор объектов в UML? Существует ли лучший способ объяснить отношения, чем иметь класс набора как тип возврата?

5
задан derekerdmann 29 May 2010 в 23:53
поделиться

2 ответа

Вы можете использовать «ассоциацию». Есть три основных типа ассоциации: состав, агрегация и «нормальная» ассоциация. Каждый из них выражает разную экзистенциальную зависимость целого от части и наоборот.

Обычно ассоциации выражаются соединением двух классов линией. Композиция и агрегация имеют символ ромба на стороне композита / агрегата. Композит / агрегат состоит из одной или нескольких частей. (См. вики-статью )

Пример:

Представьте, что у вас есть два класса: Библиотека, Книга. Можно сказать, что Библиотека - это целое, а Книга - это часть. Мы не могли записать это так (в ASCII, пожалуйста, погуглите реальные диаграммы).

Библиотека (совокупность) <> --- Книга (часть)

Если вы хотите выразить эти отношения, ассоциация будет вашим другом.

РЕДАКТИРОВАТЬ:

Как я сказал в комментарии, я не думаю, что существует специальная нотация для возвращаемых коллекций. Однако вы правы, возврат коллекции зависит от языка. Но вы можете рассмотреть возможность возврата массива ( String [] ), который является более общим способом представления набора значений и должен быть более независимым от языка, чем Collection. Тогда программист сам решит, как он это реализует. Он может использовать коллекцию , вектор C ++ STL ... суть в том, чтобы вернуть набор значений.

4
ответ дан 13 December 2019 в 19:22
поделиться

Хм, это правда, что в диаграммах классов UML нет явного способа выразить типы коллекций. Я читал книгу, в которой критиковали UML за это, но они упомянули, что в некоторых более ранних версиях UML были типы коллекций. Еще одна вещь - это язык объектных ограничений (OCL), который интегрирован с UML (как стандарт OMG) и имеет собственные типы коллекций с удобными операциями.

0
ответ дан 13 December 2019 в 19:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: