Група 2

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

Завдання, які поставлені перед групою:

Об'єктно-орієнтоване програмування.

1) вміти створювати класи;

2) породжувати об'єкти класів.

Об'єктно-орієнтоване програмування

Об’єктно-орієнтоване програмування (ООП) — одна з парадигм програмування, яка розглядає програму як множину взаємодіючих об'єктів. У ній використано декілька технологій від попередніх парадигм, включаючи успадкування, модульність, поліморфізм та інкапсуляцію. Не зважаючи на те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих. Об'єктно-орієнтоване програмування сягає своїм корінням до створення мови програмування Симула в 1960-тих роках, одночасно з посиленням дискусій про кризу програмного забезпечення.

Об'єктно-орієнтовані програми можна розглядати як множину взаємодіючих об'єктів, на відміну від традиційних поглядів, коли програма розглядається як набір підпрограм, або як перелік інструкцій комп'ютеру. Відповідно до парадигми ООП, кожен об'єкт здатен отримувати повідомлення, обробляти дані, та надсилати повідомлення іншим об'єктам. Кожний об'єкт можна розглядати як незалежний автомат з окремим призначенням або відповідальністю.

Об'єкт можна порівнювати із чорним ящиком. Фокусник кладе в нього хустинку, говорить заповітне заклинання, і витягує кролика. Так само і ми. Ми можемо ініціалізувати об'єкт, або він сам ініціалізується значеннями по замовчуванню, викликати потрібний метод об'єкту, і одержати результат. Нас мало цікавить те, що в ньому конкретно відбувається, якщо об'єкт вже достатньо відлагоджений.

Основна ідея об'єктно-орієнтованого підходу полягає у наявності інтерфейсу, який служить для поліморфної роботи з об'єктом та його нащадками. За рахунок наявності інтерфейсу легко досягається повторне використання коду. Багато програмістів, що переходять від процедурного програмування до об'єктно-орієнтованого програмування справедливо помічають, що вони можуть зробити все те ж саме і без використання об'єктів.

Об'єктно-орієнтоване програмування - це всього лише домовленості про правила побудови програм. Вся потужність об'єктної орієнтації розкривається у великих проектах, або при написанні великої кількості однотипових програм, наприклад програм, що працюють із базами даних.

За рахунок повторного використання коду досягається простота в роботі програміста (накопичення досвіду), скорочується розмір програми (методи об'єктів одного типу або методи, наслідувані від предків нащадками існують в єдиному екземплярі), самодокументованість, а значить і більш просте відлагодження (об'єкти описуються у визначеному місці програми окремо від реалізації), простота супроводу програми (не міняючи інтерфейс об'єкту, можна змінити реалізацію методів) і т.д. Але, це тільки в ідеалі. Насправді достатньо просто перекрутити постулати об'єктно-орієнтованості. Всe залежить від правильності та лаконічності дерева наслідування бібліотеки об'єктів.

Об’єктно-орієнтоване програмування – це методологія програмування, побудована на представленні програми у вигляді сукупності об’єктів, кожен із яких є екземпляром певного класу, а класи утворюють ієрархію наслідування.

В основі об’єктно-орієнтованого програмування лежать три фундаментальні принципи: інкапсуляція, наслідування, поліморфізм.

  • Інкапсуляція – це об’єднання 3-х різних за природою сутностей: полів, методів та властивостей в

один об’єкт. З іншої сторони, це процес розділення вмісту та поведінки об’єкта. Інкапсуляція служить для того, щоби ізолювати дані об’єкта від його поведінки.

  • Наслідування – це принцип, згідно якого клас-нащадок наслідує таку саму структуру даних та

методів (поведінку), що і у його предка.

  • Поліморфізм – це принцип, коли одне і те ж імя може означати об’єкти різних типів, але, оскільки їх

класи мають одинакового предка, то такі об’єкти мають спільну сукупність операцій, що можна над ними виконувати.

Формально кажучи, класи в Object Pascal – це спеціалізовані типи даних, які об’єднують поля, методи і властивості (об’єднання даних і методів їх обробки). Кожен екземпляр класу називається об’єктом. Основою, або предком для всіх класів служить class TObject.

Класи у мові Object Pascal (середовище Delphi)

TMyClass = class(TObject)
 private
   {Описані в цій секції елементи не доступні ззовні (за межами класу, але доступні в межах модуля)}
    {Тут зазвичай знаходяться поля класу}
 protected
   {Описані в цій секції елементи доступні тільки класу і всім його нащадкам.}
 public
   {Описані в цій секції елементи доступні всім.}
 published
   {Описані в цій секції елементи доступні всім і відображаються в Object Inspector'e.}
 end;
  • TMyClass — ім'я класу;
  • class — ключове слово, яке визначає клас;
  • TObject — клас-нащадок, якщо є потомство;
  • private, protected, public, published — ключові слова, які визначають секції областей доступу.

Створюється приклад (об'єкт) класу так:

 MyClass := TMyClass.Create;

Видаляється так:

 MyClass.Free;

Використані джерела:

  • [1] Об'єктно-орієнтований підхід до

програмування