Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Реферат з інформатики Об’єктно-орієнтоване програмування у порівнянні з традиційними способами програмування ооп має ряд переваг. Головна з них полягає в тому, що ця концепція найбільшою мірою

Скачати 122.46 Kb.

Реферат з інформатики Об’єктно-орієнтоване програмування у порівнянні з традиційними способами програмування ооп має ряд переваг. Головна з них полягає в тому, що ця концепція найбільшою мірою




Скачати 122.46 Kb.
Сторінка2/3
Дата конвертації10.03.2017
Розмір122.46 Kb.
ТипРеферат
1   2   3

Об'єкт і клас


Класом у Object Pascal називається структура мови, що може мати у своєму складі перемінні, функції і процедури. Перемінні в залежності від призначення іменуються чи полями властивостями (див. нижче). Процедури і функції класу — методами. Відповідний класу тип будемо називати об'єктним типом:

type


TMyObject = class (Tobject)

MyField: Integer;

function MyMethod: Integer;

end;


У цьому прикладі описаний клас TMyObject, що містить поле MyField і метод MyMethod.

Поля об'єкта аналогічні полям запису (record).

Анало́гія - (грец. αναλογια - «відповідність») - подібність, схожість у цілому відмінних предметів, явищ за певними властивостями, ознаками або відношеннями.
Це дані, унікальні для кожного створеного в програмі екземпляра класу. Описаний тут клас TMyObject має одне поле — MyField.

Методи — це процедури і функції, описані усередині класу і призначені для операцій над його полями. До складу класу входить покажчик на спеціальну таблицю, де міститься вся інформація, потрібна для виклику методів. Від звичайних процедур і функцій методи відрізняються тим, що їм при виклику передається покажчик на той об'єкт, що їх викликав. Тому оброблятися будуть полючи саме того об'єкта, що викликав метод. Усередині методу покажчик на його об'єкт, що викликав, доступний під зарезервованим ім'ям Self.

Класи можуть бути описані або в секції інтерфейсу модуля, або на верхньому рівні вкладеності секції реалізації. Не допускається опис класів "де потрапило", тобто усередині процедур і інших блоків коду.

Дозволено випереджальне оголошення класів, як у наступному прикладі:

Type


TFirstObject = class;
Оголошення - це короткі текстові повідомлення, котрі містять різну за призначенням інформацію. Переважно оголошення містять інформацію приватного рекламного характеру. Це пропозиція певних товарів чи послуг приватними особами, або малими приватними підприємствами.

TSecondObject = class(TObject)

Fist : TFirstObject;

end;



TFirstObject = class(TObject)

...


end;

Щоб використовувати клас у програмі, потрібно, як мінімум, оголосити перемінну цього типу. Перемінна об'єктного типу називається екземпляром чи класу об'єктом.

var

AMyObject: TMyObject;



До введення терміна "клас" у мові Pascal існувала двозначність визначення "об'єкт", що міг позначати і тип, і перемінну цього типу. Тепер же існує чітка границя: клас — це опис, об'єкт — те, що створено відповідно до цього опису.

Як створюються і знищуються об'єкти?

Ті, хто раніш використовував ООП у роботі на C і особливо в Turbo Pascal, будьте уважні: у Object Pascal екземпляри об'єктів можуть бути тільки динамічними.

Озна́чення, ви́значення чи дефіні́ція (від лат. definitio) - роз'яснення чи витлумачення значення (сенсу) терміну чи поняття. Слід зауважити, що означення завжди стосується символів, оскільки тільки символи мають сенс що його покликане роз'яснити означення.
Дина́міка (грец. δύναμις - сила) - розділ механіки,в якому вивчаються причини виникнення механічного руху. Динаміка оперує такими поняттями, як маса, сила, імпульс, момент імпульсу, енергія.
Turbo Pascal (вимовляється «турбо паскаль») - інтегроване середовище розробки програмного забезпечення для платформ DOS та Windows 3.x та мова програмування в цьому середовищі, діалект мови Паскаль від фірми Borland.
Це означає, що в приведеному вище фрагменті перемінна AMyObject насправді є покажчиком, що містить адресу об'єкта.

Об'єкт "з'являється на світло" у результаті виклику спеціального методу, що инициализирует об'єкт — конструктора.

Результат, пі́дсумок, (заст. ску́ток, вислід) - кінцевий наслідок послідовності дій. Можливі результати містять перевагу, незручність, вигоду, збитки, цінність і перемогу. Результат є етапом діяльності, коли визначено наявність переходу якості в кількість і кількості в якість.
Створений екземпляр знищується іншим методом — деструктором.

AMyObject := TMyObject.Create;

{ дії зі створеним об'єктом }

AMyObject...Destroy;



Але, скаже уважний читач, адже об'єкта ще ні, як ми можемо викликати його методи? Справедливе зауваження. Однак зверніть увагу, що викликається метод TMyObject.create, а не AMyObject.Create. Є такі методи (у тому числі конструктор), що успішно працюють до (чи навіть без) створення об'єкта. Про подібні методи, називаних методами класу, піде мова трохи нижче.

У Object Pascal конструкторів у класу може бути кілька. Загальноприйнято називати конструктор Create (на відміну від Turbo Pascal, де конструктор звичайно називався init, і від C , де його ім'я збігається з ім'ям класу).

В Turbo / Borland Pascal 7.0 вбудовано пасхальне яйце: якщо в інтегрованому середовищі через меню «Help» відкрити панель «About» і натиснути клавіші Alt+I, то в панелі будуть прокручуватися імена розробників.
Типова назва деструктора — Destroy.

type

TMyObject = class(TObject)



MyField: Integer;

Constructor Create;

Destructor Destroy;

Function MyMethod: Integer;

end;

Для знищення екземпляра об'єкта рекомендується використовувати метод Free, що спочатку перевіряє покажчик ( чине дорівнює він ыи) і тільки потім викликає Destroy:



AMyObject.Free;

До передачі керування тілу конструктора відбувається власне створення об'єкта — під нього приділяється пам'ять, значення всіх полів обнуляются. Далі виконується код конструктора, написаний програмістом для ініціалізації екземплярів даного класу. Таким чином, хоча на перший погляд синтаксис конструктора схожий з викликом процедури (не визначене значення, що повертається,), але насправді конструктор — це функція, що повертає створений і инициализированный об'єкт.

Сема́нтика мовна (давніше семасіологія) - розділ мовознавства, пов'язаний з лексикологією; вивчає значення (теж у діахронному, іст. перекрої) слів і їх складових частин, словосполук і фразеологізмів. Слово походить від грецького слова σημαντικός (семантікос), «значимий», з σημαίνω (семаіно), «значити, вказувати» та також від σήμα (сема), «знак, позначка, символ».
Синтаксис Си́нтаксис (дав.-гр. σύνταξις - "побудова, порядок, складання", від σύν - "з, разом" і ταξις - "впорядкування") - розділ граматики, що вивчає граматичну будову словосполучень та речень у мові.

Щоб правильно инициализировать у створюваному об'єкті полючи, що відносяться до класу-предка, потрібно відразу ж при вході в конструктор викликати конструктор предка за допомогою зарезервованого слова inherited:

constructor TMyOb ject. Create;

begin

inherited Create;



end;

1   2   3


Скачати 122.46 Kb.

  • Turbo Pascal