ОСНОВИ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯ
ВСТУП
Як відомо, однією з базових дисциплін, що формують фахівця з програмування, є дисципліна «Основи алгоритмізації і програмування» (ОАП). Саме ця дисципліна формує знання, уміння і навички складання алгоритмів, їхнього опису структурною алгоритмічною мовою і реалізації в системі програмування у вигляді комп'ютерної програми. Основна увага при цьому приділяється проблемам правильності й ефективності алгоритмів, організації структур даних і управління.
Як правило, навчальними мовами програмування обираються мови Паскаль, Бейсик, С і відповідні системи програмування. В результаті учні (або студенти) опановують елементи структурного програмування. Вони оволодівають технікою процедурного програмування «у малому», тобто здобувають той комплекс знань, умінь і навичок, що дозволяє створювати невеликі за розміром програми, що вирішують конкретні задачі опрацювання інформації. Структура таких програм, як правило є досить простою «введення – обчислення – виведення».
Разом з тим є очевидним, що цих знань явно недостатньо для написання «великих» прикладних програм, тобто програм, які можна порівнювати з комерційними програмними продуктами. Виявляється, що існує великий якісний розрив між тими комп'ютерними програмами, що учні або студенти пишуть самі, і тими, якими вони користуються на практиці, працюючи за сучасним комп'ютером. Ще кілька років назад цей розрив можна було усунути, використовуючи методи модульного програмування і стандартні модулі (такі, як Turbo Vision).
Сьогодні, у результаті переходу до сучасних об’єктно-орієнтованих операційних систем типу Windows і до відповідних об’єктно-орієнтованих технологій, цей розрив уже не можна ліквідувати, залишаючись у рамках старих методів і технологій програмування. Сучасна комп'ютерна програма під Windows у принципі не може бути «малою», тобто мати структуру типу «введення – обчислення – виведення». Вона завжди використовує, як мінімум, стандартні об'єкти Windows, і, саме головне, має об'єктно-орієнтовану архітектуру. Для створення такої програми володіння структурним стилем програмування і знання процедурних технологій у принципі недостатньо.
Для того, щоб мати представлення про методи проектування сучасних програмних систем, майбутній спеціаліст повинен вивчити і теоретичні основи сучасної методології объектно-орієнтованого програмування (ООП), і оволодіти практичними навичками програмування в об'єктах. При цьому він має побачити, що об’єктно-орієнтоване програмування – логічне продовження і розвиток процедурного програмування, наступний ступінь в його освіті, пов'язаний з переходом до програмування «у великому».
Розподіл обов'язків між ОАП і ООП виявляється наступним: в ОАП вивчаються методи реалізації поведінки окремих об'єктів, а в ООП – методи реалізації їхньої взаємодії в процесі функціонування програмної системи.
Таким чином, друга частина книги «Основи об’єктно-орієнтованого програмування» є необхідним і логічним продовженням першої - «Основи алгоритмізації і структурного програмування». Вона продовжує спеціальну теоретичну підготовку майбутнього спеціаліста з програмування, закладаючи фундамент для вивчення конкретних технологій програмування під Windows.