- •«Об'єктно-орієнтоване програмування»
- •Розділ 1.Теоретична частина
- •1.1 Еволюція технології програмування
- •1.2 Відмінності об’єктного та функціонального підходів програмування
- •1.3 Об'єктно-орієнтований підхід
- •1.3.1 Головні поняття і різновиди ооп
- •1.3.2 Інкапсуляція
- •1.3.3 Спадкування як найважливіша властивість об'єкта
- •1.3.4 Примірники об'єктних типів
- •1.3.5 Поля об'єктів
- •1.3.6 Методи
- •1.3.7 Поліморфізм
- •Розділ 2.Аналітична частина
- •2.1 Недоліки ооп
- •2.1.1Критика реклами ооп
- •2.1.2 Оспорювання ефективності розробки методами ооп
- •2.2 Продуктивність об'єктно-орієнтованих програм
- •Розділ 3.Дослідження стану ринку
- •3.1Інтегровані середовища проектування та їх вартість
- •Висновки
- •Список використаної літератури
1.3 Об'єктно-орієнтований підхід
1.3.1 Головні поняття і різновиди ооп
Структура даних «клас», що представляє собою об'єктний тип даних, зовні схожа на типи даних процедурно-орієнтованих мов, такі як структура в мові Сі або запис в Паскалі або QuickBasic. При цьому елементи такої структури (члени класу) можуть самі бути не тільки даними, але і методами (тобто процедурами або функціями). Таке об'єднання називається інкапсуляціею.
Наявність інкапсуляції достатньо для об'єктності мови програмування, але ще не означає його об'єктної орієнтованості - для цього потрібна наявність успадкування.
Але навіть наявність інкапсуляції і спадкування не робить мову програмування повною мірою об'єктним з точки зору ООП. Основні переваги ООП проявляються тільки в тому випадку, коли в мові програмування реалізований поліморфізм.
Мова самообслуговування, дотримуючись багато вихідні положення об'єктно-орієнтованого програмування, ввів альтернативне класам поняття прототипу, поклавши початок Прототипне програмування, вважається підвидом об'єктного. У таблиці 1.1 представлені основні поняття об'єктно-орієнтованого програмування
Таблиця 1
Основні поняття об'єктно-орієнтованого програмування.
Поняття |
Визначення |
Абстракція |
Спосіб виділити набір значущих характеристик об'єкта, виключаючи з розгляду незначущі. Відповідно, абстракція - це набір всіх таких характеристик. |
Інкапсуляція |
Властивість системи, що дозволяє об'єднати дані і методи, що працюють з ними, в класі і приховати деталі реалізації від користувача |
Спадкування |
Властивість системи, що дозволяє описати новий клас на основі вже існуючого з частково або повністю позичає функціональністю. Клас, від якого здійснюється успадкування, називається базовим, батьківським або суперкласом. Новий клас - нащадком, спадкоємцем або похідним класом. |
Поліморфізм |
Властивість системи використовувати об'єкти з однаковим інтерфейсом без інформації про тип і внутрішній структурі об'єкта.
|
Джерело: розроблено автором на основі [3]
Поняттю "об'єкт" зіставляють ряд доповнюючих один одного визначень. Нижче наведені деякі з них.
Об'єкт - це відчутна реальність, що характеризується чітко визначеним поведінкою.
Об'єкт - особливий упізнаваний предмет, блок або сутність (реальна чи абстрактна), що має важливе функціональне призначення в даній предметній області.
Об'єкт може бути охарактеризований структурою, його станом, поведінкою і індивідуальністю. Стан об'єкта визначається переліком всіх можливих (зазвичай статичних) властивостей і поточними значеннями (зазвичай динамічними) кожного з цих властивостей. Властивості об'єкта характеризуються значеннями його параметрів. Поведінка об'єкта описує, як об'єкт впливає на інші об'єкти або як він зазнає впливу з боку інших об'єктів з точки зору зміни його власного стану та стану інших об'єктів. Кажуть також, що поведінка об'єкта визначається його діями. Певний вплив одного об'єкта на інший з метою викликати відповідну реакцію називають операцією. В об'єктно-орієнтованих мовах програмування операції називають методами.
Можна виділити п'ять типів операцій:
Конструктор, створення і ініціалізація об'єкта;
Деструктор, руйнуючий об'єкт;
Модифікатор, що змінює стан об'єкта;
Селектор для доступу до змінних об'єкта без їх зміни;
Iтератор для доступу до змісту об'єкта частинами в певній послідовності.
Відома й інша класифікація методів об'єкта, коли виділяють функції управління, реалізації, доступу та допоміжні функції.
Під індивідуальністю об'єкта розуміють властивість об'єкта, що дозволяє відрізняти цей об'єкт від усіх інших об'єктів.
Об'єкти можуть перебувати в певних відносинах один до одного. Ці відносини можуть бути ієрархічними. Основні ієрархічні відносини - це відносини використання та включення. Відношення використання реалізується посилкою повідомлень від об'єкта об'єкту B. При цьому об'єкт може виступати в ролі:
Активного, коли він впливає на інші об'єкти, але сам впливу не піддається;
Пасивного або виконуючого, коли об'єкт піддається впливу, але сам на інші об'єкти не впливає;
Посередника, якщо об'єкт і впливає і сам піддається впливу.
