- модульність; - ієрархія.
Ці елементи є головними так як без будь-якого з них модель не буде об’єктно-орієнтованою. Крім головних, є ще три додаткових елементи: - типізація; - паралелізм;
- зберігаємісь.
Називаючи їх додатковими, ми маємо на увазі, що вони корисні в об'єктній моделі, але не обов'язкові.
Розглянемо головні елементи об’єктної моделі більш детально:
Абстракція виділяє істотні характеристики деякого об'єкта, що відрізняють його від всіх інших видів об'єктів і, таким чином, чітко визначає його концептуальні границі з погляду спостерігача.
Інкапсуляція реалізує принцип Інгалса [1]: "Ніяка частина складної системи не повинна залежати від внутрішнього пристрою якої-небудь іншої частини". Найчастіше інкапсуляція виконується за допомогою приховання інформації, тобто шляхом маскування усіх внутрішніх деталей, що не впливають на зовнішнє поводження. Звичайно приховуються і внутрішня структура об'єкта і реалізація його методів. Інкапсуляція, таким чином, визначає чіткі границі між різними абстракціями.
Інкапсуляція – це процес відділення друг від друга елементів об'єкта, що визначають його внутрішню будову і зовнішнє поводження; інкапсуляція служить для того, щоб ізолювати протокол абстракції від його реалізації.
Модульність характеризує можливість розкласти систему на модулі з сильними внутрішніми, але слабкими зовнішніми зв’язками.
Ієрархія – це упорядкування абстракцій, розташування їх по рівнях.
Семантично, успадкування описує відношення типу "is-a" ("є"). Наприклад, "генератор" є "електрична машина", "транзистор" є "напівпровідниковий елемент" і "метод хорд та дотичних" є "алгоритм вирішення трансцедентних рівнянь". Таким чином, успадкування породжує ієрархію "узагальненняспеціалізація", у якій підклас (наприклад, "генератор") являє собою спеціалізований окремий випадок свого суперкласу (наприклад, "електрична машина").
Тепер дамо визначення додаткових елементів об’єктної моделі:
Типізація – це спосіб захиститися від використання об'єктів одного класу замість іншого, або принаймні керувати таким використанням.
Паралелізм дозволяє різним об'єктам діяти одночасно.
Зберігаємість – здатність об'єкта існувати в часі, переживаючи його процес, що породив, і (або) у просторі, переміщаючи зі свого первісного адресного простору.
Більш детально концепція та приклади застосування компонентів об’єктної моделі наводяться в конспекті лекцій та роботі [1].
В процесі виконання лабораторних робіт застосовується об’єктноорієнтована алгоритмічна мова Object Pascal. Розглянемо синтаксичні конструкції вказаної мови програмування, що реалізують компоненти об’єктної моделі.
1. Оголошення класу, інкапсуляція.
В мові Object Pascal інкапсуляція полягає в утворенні конструкції (структури), що поєднує дані та методи їх обробки. Дані в цьому випадку називаються властивостями класу, їх значення відрізняє між собою його конкретні екземпляри. Наприклад, розглянемо клас, що представляє собою лінію на екрані. Описання такого класу в мові Object Pascal може бути наступним:
type TLine = class (TObject)
X1: Word;
Y1: Word;
X2: Word;
Y2: Word;
Color: array [1..3] of byte; Width: byte; constructor CreateDefault; procedure Draw; procedure Rotate (xc, yc: Word; fi: Real); procedure Move (dx, dy: Word); end;
Узагальнений синтаксис оголошення класу має вигляд:
type Ідентифікатор_Класу = class (Ідентифікатор_Предка)
Ідентифікатор_властивості1: Тип_властивості1;
Ідентифікатор_властивості2: Тип_властивості2;
. . .
Заголовок_Методу1;
Заголовок_Методу2;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.