Page 54 - 4636
P. 54

2.4 Об'єктно-орієнтоване програмування на РНР
           В  цій  лекції  описані  основні  поняття  об'єктно-орієнтованої  розробки  і  показано,  як  її  можна
        впровадити використовуючи РНР. На даний момент реалізаціяРНР містить всі можливості об'єктно-
        орієнтованого  програмування  (ООП).  Тут  ви  познайомитесь  з  цими  можливостями.  У  лекції
        розглядають наступні теми.

           1.  Концепції об'єктно-орієнтованого програмування.
           2.  Класи, атрибути та операції.
           3.  Атрибути класу.
           4.  Константи класу.
           5.  Виклик методів класу.
           6.  Успадкування.
           7.  Модифікатори доступу.
           8.  Статичні методи.
           9.  Вказівка типів.
           10.  Пізніше статичне зв'язування.
           11.  Клонування об'єктів.
           12.  Абстрактні класи.
           13.  Проектування класів.
           14.  Реалізація класів.
           15.  Додаткові об'єктно-орієнтовані можливості.
           Концепціїоб'єктно-орієнтованогопрограмування
           Сучасні мови програмування  зазвичай підтримують  або навіть  вимагають застосування  об'єктно-
        орієнтованого  підходу  при  розробці  програмного  забезпечення.  Об'єктно-орієнтована  розробка
        намагається  задіяти  класифікації,  відносини і  властивості об'єктів  системи  для  спрощення розробки
        програм і повторного використання коду.
           Класи і об'єкти
           У контексті об'єктно-орієнтованого програмного забезпечення об'єктом може бути практично будь-
        який елемент або концепція, або концептуальний об'єкт, що існує тільки в програмі, такий як область
        введення тексту або файл. Загалом  найбільший інтерес представлятимуть об'єкти - як реальні, так і
        концептуальні, які повинні бути представлені в програмі.
           Об'єктно-орієнтовану програму розробляється і створюють у вигляді набору самостійних об'єктів,
        що мають атрибути і операції, які відповідають вашим потребам. Атрибути (attributes) - це властивості
        або змінні, що мають відношення до об'єкта. Операції (op?rations) представляють собою методи, дії
        або  функції,  які  об'єкт  може  виконати  з  метою  модифікації  самого  себе  або  зовнішнього оточення.
        (Замість терміну "атрибут" часто вживають терміни "змінна - член" і "властивість", а замість терміна
        "операція" - "метод"). Основна перевага об'єктно-орієнтованого програмного забезпечення полягає в
        його  здатності  підтримувати  і  стимулювати  інкапсуляцію  (encapsulation),  яка  відома  також  як
        приховування даних (data hiding). По суті, доступ до даних усередині об'єкта можливий тільки через
        операції об'єкта, звані інтерфейсом (interface) об'єкта.
           Дії,  виконувані  об'єктом,  поширюються  тільки  на  використовувані  ним  дані.  Можна  без  зусиль
        змінити способи реалізації об'єкта для підвищення продуктивності, додавання нових властивостей або
        виправлення  програмних  помилок  без  необхідності  зміни  інтерфейсу.  Зміна  інтерфейсу  загрожує
        ускладненнями  для  всього  проекту,  проте  інкапсуляція  дозволяє  вносити  зміни  та  виправляти
        помилки, не торкаючись інших частин проекту.
           В  інших  областях  розробки  програмного  забезпечення  об'єктно-орієнтований  підхід  є  нормою,  а
        процедурне  або  функціонально-орієнтоване  програмування  вважають  застарілим.  Однак  більшість
        веб-сценаріїв все ще розробляють і створюють із застосуванням спеціалізованого підходу, відповідної
        функціонально-орієнтованої методології.
           Застосування  цього  походу  обумовлено  рядом  причин.  Багато  веб-проектів  відносно  невеликі  і
        досить  прості.  Ви  просто  можете  взяти  ножівку  і  спорудити  дерев'яну  поличку,  не  плануючи
        заздалегідь  своїх  дій;  точно  так  само  ви  можете  успішно  завершити  велику  частину  проектів  з
                                                            51
   49   50   51   52   53   54   55   56   57   58   59