Page 29 - 4836
P. 29
public Aquarium () {
}}
Асоціація
Якщо об'єкти одного класу посилаються на один або
більше об'єктів іншого класу, але ні в ту, ні в іншу сторону
відношення між об'єктами не носить характеру "володіння",
або контейнеризації, таке ставлення називають асоціацією
(association). Відношення асоціації зображується так само, як і
ставлення агрегації, але лінія, що зв'язує класи, - проста, без
ромбика.
Як приклад можна розглянути програміста і його
комп'ютер. Між цими двома об'єктами немає агрегації, але
існує чіткий взаємозв'язок. Так, завжди можна встановити, за
якими комп'ютерами працює будь-якої програміст, а також які
люди користуються окремо взятим комп'ютером. У
розглянутому прикладі є асоціація "багато-до-багатьох".
У даному випадку між екземплярами класів
Programmer і Computer в обидві сторони використовується
відношення "0 .. n", тому що програміст, у принципі, може не
працювати з комп'ютером (якщо він теоретик або на пенсії). У
свою чергу, комп'ютер може ніхто не використовувати (якщо
він новий і ще не встановлений).
Код, відповідний розглянутому наприклад, буде,
наприклад, такий:
public class Programmer {
private Computer computers [];
public Programmer () {
}
}
public class Computer {
27