Головна |
В остаточному вигляді будь-яка програма являє собою набір інструкцій процесора. Все, що написано на будь-якій мові програмування, - зручніша, спрощена запис цього набору інструкцій, що полегшує написання, налагодження і подальшу модифікацію програми. Чим вище рівень мови, тим в більш простій формі записуються одні і ті ж дії. Наприклад, для реалізації циклу на мові асемблера потрібно записати послідовність інструкцій, подбавши про розміщення змінних в регістрах, а в С ++ або Паскалі для цього достатньо одного оператора.
З ростом обсягу програми стає неможливим утримувати в пам'яті всі деталі, і стає необхідним структурувати інформацію, виділяти головне й відкидати несуттєве. Цей процес називається підвищенням ступеня абстракції програми.
Першим кроком до підвищення абстракції є використання функцій, що дозволяє після написання і налагодження функції відволіктися від деталей її реалізації, оскільки для виклику функції потрібно знати тільки її інтерфейс. Якщо глобальні змінні не використовуються, інтерфейс повністю визначається заголовком функції.
Наступний крок - опис власних типів даних, що дозволяють структурувати і групувати інформацію, представляючи її в більш природному вигляді. Наприклад, можна уявити за допомогою однієї структури все різнорідні відомості, що відносяться до одного виду товару на складі.
Для роботи з власними типами даних необхідні спеціальні. Природно згрупувати їх з описом цих типів даних в одному місці програми, а також по можливості відокремити від її інших частин. При цьому для використання цих типів і функцій не потрібно повного знання того, як саме вони написані - необхідні тільки опису інтерфейсів. Об'єднання в модулі описів типів даних і функцій, призначених для роботи з ними, з приховуванням від користувача модуля несуттєвих деталей, є подальшим розвитком структуризації програми.
Всі три описаних вище методу підвищення абстракції мають на меті спростити структуру програми, тобто представити її у вигляді меншої кількості більших блоків і мінімізувати зв'язку між ними. Це дозволяє управляти великим обсягом інформації і, отже, успішно налагоджувати більш складні програми.
Принципи і властивості об'єктно-орієнтованого програмування | Відкриті та закриті члени класу | покажчик this | конструктори | Ім'я_класу (список параметрів); | перевантаження конструктора | деструктори | Перевантаження унарних операцій | Return temp; | Перевантаження операції індексування |