Page 31 - 4836
P. 31

Відношення  узагальнення  позначається  суцільною
                            лінією з трикутною стрілкою на кінці. Стрілка вказує на більш
                            загальний клас (клас-предок або суперклас), а її відсутність -
                            на більш спеціальний клас (клас-нащадок або підклас).
                                   Використання      наслідування     сприяє     зменшенню
                            кількості  коду,  створеного  для  опису  схожих  сутностей,  а
                            також сприяє написанню більш ефективного та гнучкого коду.
                                   У  розглянутому  прикладі  застосовано  одиночне
                            спадкування.  Деякий  клас  також  може  успадковувати
                            властивості  та  поведінку  відразу  декількох  класів.  Найбільш
                            популярним        прикладом       застосування      множинного
                            спадкоємства  є  проектування  системи  обліку  товарів  у
                            зоомагазині.
                                   Всі  тварини  в  зоомагазині  є  спадкоємцями  класу
                            "Тварина",  а  також  спадкоємцями  класу  "Товар".  Тобто  всі
                            вони мають вік, мають потребу в їжі і воді і в той ж самий час
                            мають ціну і можуть бути продані.
                                   Множинне  спадкування  на  діаграмі  зображується
                            точно  так  само,  як  одиночне,  за  винятком  того,  що  лінії
                            спадкоємства сполучають клас-нащадок відразу з декількома
                            суперкласами.
                                   Не  всі  об'єктно-орієнтовані  мови  програмування
                            містять    мовні    конструкції     для   опису     множинного
                            спадкоємства.
                                   У  мові  Java  множинне  успадкування  має  обмежену
                            підтримку через інтерфейси.
                                   Метакласи
                                   Отже, будь-який об'єкт має структуру, що складається з
                            полів  і  методів.  Об'єкти,  що  мають  однакову  структуру  і
                            семантику,  описують  одним  класом,  який  і  є,  по  суті,
                            визначенням структури об'єктів, породжених від нього.
                                   У  свою  чергу,  кожен  клас,  або  опис,  завжди  має
                            строгий  шаблон,  що  задається  мовою  програмування  або
                            вибраною  об'єктною  моделлю.  Він  визначає,  наприклад,  чи




                                                           29
   26   27   28   29   30   31   32   33   34   35   36