Головна Головна -> Реферати українською -> Інформатика, комп'ютери, програмування -> Проблеми програмування в ООП

Проблеми програмування в ООП

Назва:
Проблеми програмування в ООП
Тип:
Реферат
Мова:
Українська
Розмiр:
5,64 KB
Завантажень:
59
Оцінка:
 
поточна оцінка 5.0


Скачати цю роботу безкоштовно
Пролистати роботу: 1  2  3 
Реферат
на тему: «Проблеми програмування в ООП»


У порівнянні з традиційними способами програмування ООП володіє поруч переваг. Головне з них полягає в тім, що ця концепція найбільшою мірою відповідає внутрішній логіці функціонування операційної системи (ОС) Windows. Програма, що складається з окремих об'єктів, відмінно пристосована до реагування на події, що відбуваються в ОС. До інших переваг ООП можна віднести велику надійність коду і можливість повторного використання відпрацьованих об'єктів.
У цій главі розглядаються способи реалізації основних механізмів ООП у Object Pascal і Delphi:
поняття об'єкта, класу і компонента;
основні механізми ООП: інкапсуляція, спадкування і поліморфізм;
особливості реалізації об'єктів;
взаємодія властивостей і методів.
Матеріал глави розрахований на читача, що має представлення про саму мову Object Pascal, його операторах і основних можливостях.
Об'єкт і клас
Класом у 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 екземпляри об'єктів можуть бути тільки динамічними. Це означає, що в приведеному вище фрагменті перемінна AMyObject насправді є покажчиком, що містить адресу об'єкта.
Об'єкт "з'являється на світло" у результаті виклику спеціального методу, що инициализирует об'єкт — конструктора. Створений екземпляр знищується іншим методом — деструктором.
AMyObject := TMyObject.Create;
{ дії зі створеним об'єктом }

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

Завантажити цю роботу безкоштовно
Пролистати роботу: 1  2  3 



Реферат на тему: Проблеми програмування в ООП

BR.com.ua © 1999-2017 | Реклама на сайті | Умови використання | Зворотній зв'язок