Програмування С, С++теорія та практика (частина 2)
2.4 Об’єктно - орієнтоване програмування та його головні принципи
У попередньому розділі ми розв'язали задачу за допомогою нового стилю проектування програм - об'єктного. Кожний стиль програмування має свою концептуальну основу, вимагає різного підходу до розв’язування задачі. Для об’єктно-орієнтованого стилю концептуальна основа полягає в об’єктному підході. Цьому підходу відповідають чотири головних елементи: абстрагування, обмеження доступу, модульність та ієрархія. Ці елементи є головними у тому розумінні, що за одним з класиків об'єктно-орієнтованого проектування програм Граді Бучем [6] без будь-якого з них підхід не буде повністю об’єктно-орієнтованим. А відсутність відповідної концептуальної основи призведе до того, що програми, які написані на мовах ОЬ]есґ Разсаі, Сі++, будуть мало відрізнятися за своєю структурою від програм відповідно на Разсаі або Сі. Виразні можливості цих об’єктно-орієнтованих мов будуть або втрачені, або суттєво викривлені. Але ще більш важливим є те, що при цьому буде мало шансів впоратися із складністю розв’язування задачі.
Надамо визначення основних принципів об’єктного підходу :
1. Абстрагування - виділення таких вагомих характеристик об’єктів, які відрізняють його від усіх інших об’єктів і які чітко визначають особливості даного об’єкта з точки зору подальшого аналізу.
2. Обмеження доступу - процес захисту окремих елементів, який не впливає на вагомі характеристики об’єкта, як цілого.
3. Модульність - властивість системи, яка зв’язана з можливістю декомпозиції на ряд тісно зв’язаних модулів (частин).
4. Ієрархія - впорядкування за деякими правилами об’єктів системи.
Ідея класів - це основа об’єктно-орієнтованого програмування (ООП). Мета ООП - намагання зв’язати дані й функції для їх обробки в єдине ціле - клас. В класах об’єднуються структури даних і функції їх обробки. Ідея класів відображає будову об’єктів реального світу - оскільки кожний предмет або процес має свої властивості, будову, поведінку.
Клас - це визначений користувачем тип даних. В класі задаються властивості і поведінка якого-небудь, об’єкта у вигляді полів-даних і функцій для роботи з ними.
Парадигма програмування - це набір теорій, методів, стандартів, які використовуються при розробці та реалізації програм на комп’ютері. ООП часто називають новою парадигмою програмування, хоча її революційний поступ розпочався давно у минулому. ООП основане на трьох принципах, що надають класам нові властивості:
1. Інкапсуляція - об’єднання в єдине ціле даних і алгоритмів обробки цих даних. В ООП дані називаються полями, а алгоритми - методами або функціями-членами (теїкойз, тетЬег /ипсііот).
2. Успадкування - властивість створення ієрархії класів, коли нащадки отримують від попередника поля і методи.
3. Поліморфізм (від гр. роіу - багато і тогркоз форма, означає багато форм) - це властивість класів однієї ієрархії вирішувати схожі за змістом завдання за допомогою різних алгоритмів.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
