9.3. Методологія об’єктно-орієнтованогопрограмування
З часом ситуація почала істотно змінюватися. Стало очевидним, що традиційні методи процедурного програмування не здатні впоратися ані зі складністю програм та їх розробки, ані з необхідністю підвищення їх надійності. У другій половині 80-х років виникла нагальна потреба у новій методології програмування, яка була б здатна розв’язати весь цей комплекс проблем. Такою методологією стало об’єктно-орієнтоване програмування (ООП).
Фундаментальними поняттями ООП є поняття класу та об’єкту. При цьому під класом розуміють деяку абстракцію сукупності об’єктів (шаблон для створення об’єкта), які мають загальний набір властивостей і володіють однаковою поведінкою. Кожен об’єкт у цьому випадку розглядається як екземпляр відповідного класу. Об’єкти, які не мають повністю однакових властивостей або не володіють однаковою поведінкою, за визначенням, не можуть бути віднесені до одного класу.
Таким чином, клас – це програмна заготовка, яку програміст проектує і описує у своїй програмі, а об’єкт – це програмна одиниця, яка генерується і «працює» в процесі виконання програми.
Технологія ООП була розроблена для того, щоб точніше змоделювати програму, яку необхідно написати так само, як ми дивимося на навколишній світ. Ми починаємо з найбільш абстрактного, загального класу, властивості і поведінка якого є характерними для всіх членів класу і які повністю описують набір окремих об’єктів, що складають проблему.
Однією з головних переваг ООП є широке повторення використання коду. Як тільки поведінка (метод) запрограмована для більш загального класу, не має потріби повторно її переписувати для похідних класів, де її не треба змінювати.
Найбільш істотною обставиною у розвитку методології ООП з’явилося усвідомлення того факту, що процес написання програмного коду може бути відокремлений від процесу проектування структури програми. Дійсно, перед тим як почати програмування класів, їх властивостей та методів, необхідно визначити, чим же є самі ці класи. Більш того, треба дати відповіді на такі питання, як: скільки та які класи потрібно визначити для розв’язання поставленого завдання, які властивості та методи потрібні для надання класам необхідної поведінки, а також встановити взаємозв’язки між класами.
Ця сукупність завдань не стільки пов’язана з написанням коду, скільки із загальним аналізом вимог до майбутньої програми, а також з аналізом конкретної наочної області, для якої розробляється програма. Всі ці обставини привели до появи спеціальної методології, що отримала назву методології об’єктно-орієнтованого аналізу та проектування (ООАП).
- Міністерство освіти і науки україни
- 9.12. Огляд WinDev 154
- 10. Історія операційних систем 169
- Список літератури 187
- Передмова
- 1. Передвісники комп’ютерної ери
- 1.1. Комп’ютерна програма–що це?
- 1.2. Доелектронна історія обчислювальної техніки
- Логарифмічна лінійка
- 1.3. Можливості двійкового коду
- 1.4. Розвиток двійкової системи
- 1.5. Винахід перших комп’ютерів
- Перша в історії працююча програмнокерована універсальна обчислювальна машина z-3 (1941 р.)
- 1.6. Гарвардська архітектура
- 1.7. Архітектура фон Неймана
- 1.8. Створення зрозумілих людині кодів
- 1.9. Крок на благо програмування
- 1.10. Можливості програмного управління
- 2. Нові мови програмування
- 2.1. Поневіряння пакетної обробки
- 2.2. Універсальна мова програмування
- 2.3. Усунення неоднозначності
- 2.4. Заклик до дотримання математичної строгості
- 2.5. Пошук та усунення помилок
- 2.6. Нелегке мистецтво програмування
- 2.7. Обчислювальна техніка та програмування в срср
- 3. Розквіт та хаос програмного забезпечення
- 3.1. Місце народження хакерів
- 3.2. Два чародії програмування
- 3.3. Перші промислові стандарти
- 3.4. Дружній інтерфейс
- 3.5. Прообраз сучасного «ноутбука»
- 4. Болісний шлях розвитку програмування
- 4.1. Плануюче обчислення
- 4.2. Внесок Великої Британії
- 4.3. Програмування англійською мовою
- 5. Три комерційні гіганти
- 5.1. Перша комерційна мова програмування
- 5.2. Обчислювальна техніка приходить у бізнес
- 5.3. Народження codasyl
- 5.4. Конференція в Цюріху
- 5.5. На шляху до сумісності комп’ютерів
- 5.6. Розбіжності Нового Світу
- 6. Десятиліття динамічного розвитку
- 6.1. Перші кроки непроцедурної мови
- 6.3. Алфавітне хрещення
- 6.4. Успіх та суперечки
- 6.5. Інженерний підхід
- 6.6. Структурний підхід
- 6.7. Поява мови “Ада”
- 7. Програмування приходить у наші домівки
- 7.1. Розквіт Бейсіка
- 7.2. Поява мови Модула-2
- 7.3. Музикальний француз
- 7.4.Довгожитель Lisp – інструмент функціонального програмування
- 7.5. Prolog – нездійснена мрія еом V покоління
- 7.6. Революція на ім’я Java
- 8. Історія і шляхи розвитку супер-еом
- 8.1. Усе починалося з менфреймов
- 8.2. Напрями розвитку обчислювальної техніки
- 8.3. Розвиток елементної бази. Закон Мура
- 8.4. Вдосконалення архітектури
- Звичайна послідовн обробка
- Конвеєрна обробка
- 9. Сучасний стан та перспективи розвитку програмування
- 9.1. Криза у програмуванні
- 9.2. Методологія процедурно-орієнтованогопрограмування
- 9.3. Методологія об’єктно-орієнтованогопрограмування
- 9.4. Методологія об’єктно-орієнтованогоаналізу та проектування
- 9.5. Технології програмування
- 9.6. Case –засоби
- 9.7. Методологія rad
- 9.11.1. Знайомство с LightSwitch
- 9.11.2. Архитектура LightSwitch
- 9.11.3. Створення проекту в Microsoft Visual Studio LightSwitch
- 9.11.4. Дванадцять основних переваг LightSwitch
- 9.12. Огляд WinDev
- 9.12.1. ПризначенняWinDev
- 9.12.2. Деякі характеристики wLanguage
- 9.13. Технологія model checking
- 9.14. NeoBook – программирование для непрограммистов
- 9.14.1. Введення для секретарок
- 9.14.3. Можливості та області застосування
- 9.15. Файлові системи найближчого майбутнього
- 9.15.1. Зетта-повінь настає
- 9.15.2. Файлова система zfs
- 9.15.3. Файлова системаBtrfs
- 9.15.4. Файлова системаHammer
- 10. Історія операційних систем
- 10.1. Послідовна обробка даних
- 10.2. Прості пакетні системи
- 10.3. Багатозадачні пакетні системи
- 10.4. Системи з режимом розподілу часу
- 10.5. Основні досягнення
- 10.6. Сучасні системи unix
- 10.7. Os/2. Битва двох гігантів
- Список літератури