Page 28 - 4836
P. 28

об'єктів Fish. У той же час кожна рибка "знає", в якому саме
                            акваріумі  вона живе.  Кожен  клас  має  свою  роль в  агрегації,
                            яка  вказує,  яке  місце  займає  клас  у  даному  відношенні.  Ім'я
                            ролі  не  є  обов'язковим  елементом  позначень  і  може  бути
                            відсутнім  на  діаграмі.  У  прикладі  можна  бачити  роль  home
                            класу  Aquarium (акваріум є домом для рибок), а також роль
                            inhabitants класу Fish (рибки є мешканцями акваріума). Назва
                            ролі звичайно збігається з назвою відповідного поля в класі.
                            Зображення такого поля на діаграмі зайве, якщо вже вказано
                            ім'я  ролі.  Тобто  в  даному  випадку  клас  Aquarium  матиме
                            властивість (поле) inhabitants, а клас Fish - властивість home.
                                   Кількість  об'єктів,  які  беруть  участь  у  відношенні,
                            записується поряд з ім'ям ролі. Запис "0 .. n" означає "від нуля
                            до нескінченності". Прийнято також позначення:
                                   "1 .. n" - від одиниці до нескінченності;
                                   "0" - нуль;
                                   "1" - один;
                                   "N" - фіксована кількість;
                                   "0 .. 1" - нуль чи один.
                                   Код,  що  описує  розглянуту  модель  і  явище  агрегації,
                            може виглядати, наприклад, наступним чином:
                                   // Визначення класу Fish
                                   public class Fish {
                                      // Визначення поля home
                                      // (Посилання на об'єкт Aquarium)
                                      private Aquarium home;
                                      public Fish () {
                                      }
                                   }
                                   // Визначення класу Aquarium
                                   public class Aquarium {
                                      // Визначення поля inhabitants
                                      // (Масив посилань на об'єкти Fish)
                                      private Fish inhabitants [];




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