Page 30 - 6253
        P. 30
     РОЗДІЛ 2
                                     КОНЦЕПЦІЯ ОБ’ЄКТНО-ОРІЄНТОВАНОГО
                                                  ПРОГРАМУВАННЯ
                    2.1. Теоретичні аспекти ОПП
                    Об’єктно-орієнтоване програмування (ОПП) настільки інтегроване в Java, що
            написання навіть найпростіших програм вимагає знань базових принципів ООП. Як
            відомо,  всі  програми  складаються  з  двох  елементів:  коду  і  даних.  Вони  можуть
            взаємодіяти  із  зовнішнім  світом  за  принципом  «що  відбувається»  або  «на  що
            впливає».  Існує  два  стилі  побудови  програм.  Перший  –  процедурно-орієнтована
            модель.  Цей  підхід  представляє  програму  як  низку  послідовно  виконуваних
            операцій. Однак внаслідок збільшення розмірів і складності програми такий підхід
            має  значні  недоліки.  З  метою  вирішення  цих  проблем  розроблено  другий  підхід,
            який  називають  об’єктно-орієнтованим  програмуванням.  Програми,  побудовані
            згідно  принципу  ООП,  можна  вважати  такими,  в  яких  дані  керують  доступом  до
            коду.
                    Усі  об’єктно-орієнтовані  мови  програмування  забезпечують  реалізацію
            базових концепцій: інкапсуляції, поліморфізму та наслідування.
                    Абстракція (класи та об'єкти)
                    Центральним елементом об’єктно-орієнтованого програмування є абстракція
            Завдяки  можливості  абстрагуватися  людство  справляється  з  проявами  складних
            речей в оточуючому світі. Наприклад, ніхто не думає про автомобіль як про набір з
            тисячі  деталей,  коли  треба  переїхати  з  одного  місця  в  інше.  Автомобіль
            сприймається  як  об’єкт  в  цілому  з  певними  характеристиками:  швидкість  руху,
            необхідна кількість пального і т. д.
                    Існує  могутній  механізм  створення  абстракції,  який  полягає  в  використанні
            ієрархічної класифікації. Такий підхід дозволяє проаналізувати семантику складних
            систем, розбивши їх на простіші фрагменти.
                    Ієрархічні абстракції складних систем можна застосувати і до комп’ютерних
            програм.  Дані  з  традиційної  процедурно-орієнтованої  програми  за  допомогою
            абстракції можна перетворити на об’єкти. А послідовність обробки цих даних може
                                                              29
     	
