Известны три основных типа отношений между классами. Во-первых, это отношение "обобщение/специализация (общее и частица) ", известное как "іs-а". Во-вторых, это отношение "целое/часть", известное как "part of". В-третьих, это семантические, смысловые отношения.
Языки программирования произвели несколько общих подходов к выражению отношений этих трех типов. В частности, большинство объектно-ориентированных языков непосредственно поддерживают разные комбинации следующих видов:
• ассоциация;
• наследование;
• агрегация;
• использование;
• инстанционироване;
• метакласс.
Из шести перечисленных видов наиболее общей и неопределенной является ассоциация. Обычно аналитик констатирует наличие ассоциации, и постепенно уточняя проект, превращает его в какую-то более специализированную связь.
Наследование, вероятно, стоит считать наиболее интересным семантически. Оно выражает отношения общего и частицы. Однако одного наследования недостаточно, чтобы выразить все многообразие явлений и отношений жизни. Полезная также агрегация, которая отбивает отношения целого и части между экземплярами классов. Не излишне прибавить отношение использования, которое означает наличие связи между экземплярами классов.
В предыдущем примере мы имели ассоциацию "один до многих". Тем самым мы обозначили ее мощность (то есть, грубо говоря, количество участников). На практике важно различать три случая мощности ассоциации:
• «один-к-одному»
• «один-к-многим»
• «много-к-многим»
На правах рекламы. Хотите легко создать сайт с использованием популярной CMS. Качайте шаблоны для сайта с фото стока photostok.ru
|