Page 29 - 4836
P. 29

public Aquarium () {
                                      }}
                                   Асоціація
                                   Якщо  об'єкти  одного  класу  посилаються  на  один  або
                            більше об'єктів  іншого класу, але ні в ту, ні  в  іншу сторону
                            відношення  між  об'єктами  не  носить  характеру  "володіння",
                            або  контейнеризації,  таке  ставлення  називають  асоціацією
                            (association). Відношення асоціації зображується так само, як і
                            ставлення агрегації, але лінія, що зв'язує класи, - проста, без
                            ромбика.
                                   Як  приклад  можна  розглянути  програміста  і  його
                            комп'ютер.  Між  цими  двома  об'єктами  немає  агрегації,  але
                            існує чіткий взаємозв'язок. Так, завжди можна встановити, за
                            якими комп'ютерами працює будь-якої програміст, а також які
                            люди  користуються  окремо  взятим  комп'ютером.  У
                            розглянутому прикладі є асоціація "багато-до-багатьох".






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



                                                           27
   24   25   26   27   28   29   30   31   32   33   34