Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л08_Теорія і методи ОО аналізу, проектування і...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
146 Кб
Скачать
☆

2. Поняття об'єкта

Теоретично об'єкт - це модель існуючої або абстрактної сутності.

Наприклад, об'єкти "простий дріб", "трикутник", "студент", "тест", "комп'ютер".

Модель завжди буде вже свого прототипу за рахунок абстрагування - відкидання непотрібних характеристик й особливостей поводження.

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

Об'єкт в об′єктно-орієнтованому програмуванні (ООП) - це результат об'єднання даних з діями, виконуваними над цими даними.

Таке об'єднання називається інкапсуляцією.

Не потрібно забувати, що об'єкт - це тип даних.

Поле об'єкта - це його властивість, характеристика. Поле задається усередині об'єкта як змінна.

Наприклад, чисельник і знаменник дробу, номер заліковї студента, гіпотенуза прямокутного трикутника, обсяг вінчестера комп'ютера.

Метод об'єкта - це його внутрішня підпрограма (процедура або функція), що працює з полями об'єкта.

Звичайно для об'єкта задають наступні типи методів:

  • конструктори - методи створення об'єкта;

  • деструктор - метод, викликуваний при знищенні об'єкта

  • методи доступу - установлюють або повертають значення полів

  • методи розрахунку - розраховують значення полів або додаткових характеристик

  • методи виводу - виводять значення полів на екран, печатку й т.д.

  • і т.д.

Сучасний користувач зіштовхується з об'єктами на кожному кроці. Наприклад, шрифт у документі Word - це об'єкт, що має поля: розмір, кольори, гарнітура, накреслення й т.д. Комірка Excel - це об'єкт із полями: значення, тип значення, вирівнювання, кольори тла, кольори шрифту й т.д. Методи доступу, реалізовані в додатках Word й Excel, дозволяють вручну змінювати властивості шрифту й осередку.

Поле об'єкта саме може бути об'єктом. Наприклад, об'єкт "Студент" може мати поле "Паспортні дані", саме утримуючого поля "серія", "номер", "дата видачі", "організація, що видала паспорт" і т.д.

3. Зв'язок записів й об'єктів в dos-паскале

У мові програмування Паскаль об'єкти схожі на записі (record)

type

(* запис "студент"

містить три поля *)

Student = record

sFIO: string;

iCourse: byte;

sGroup: string;

end;

(* об'єкт "студент"

містить три поля й два методи *)

TStudent = object

fsFIO: string;

fiCourse: byte;

fsGroup: string;

procedure SetStudent (sFIO: string; iCourse: byte; sGroup: string);

procedure GetStudent (var sFIO: string; var iCourse: byte;

var sGroup: string);

end;

Процедури-методи об'єкта TStudent реалізуються так

procedure TStudent.SetStudent (sFIO: string; iCourse: byte; sGroup: string);

begin

fsFIO := sFIO;

fiCourse := iCourse;

fsGroup := sGroup;

end;

procedure TStudent.GetStudent (var sFIO: string; var iCourse: byte;

var sGroup: string);

begin

sFIO := fsFIO;

iCourse := fiCourse;

sGroup := fsGroup;

end;

Але запис - зовсім відкрита структура: ми прямо звертаємося до поля запису, щоб змінити його або одержати його значення:

plushkin.sFIO := 'Plushkin Ivan';

plushkin.iCourse := 1;

plushkin.sGroup := '20-103';

writeln (plushkin.sFIO,': ',plushkin.iCourse,' year, ',plushkin.sGroup);

У той же час із об'єктом нам цього робити не дозволено:

var

kirpichov: TStudent; // екземпляр об'єкта

sFIO, sGroup: string;

iCourse: byte; // змінні для запису значень полів

...

{ звертаємося до полів об'єкта - строго через методи }

kirpichov.SetStudent ('Kirpichov Alexey',2,'20-201');

kirpichov.GetStudent(sFIO, iCourse, sGroup);

writeln (sFIO,': ',iCourse,' year, ',sGroup);