Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kolokvium_z_OOP_2010_vsi.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
133.27 Кб
Скачать

20. Конструктори та деструктори. Їхнє призначення та правила використання.

Конструктори призначені для створення конкретного екземпляра об’єкта. Зарезервоване слово Constructor призначає компіляторові створити особливий код прологу, за яким настроюють таблицю віртуальних методів. Якщо в об’єкті немає віртуальних методів, то в ньому може і не бути жодного конструктора. Типова дія конструктора базується на тому, щоб наповнити об’єктні поля конкретними значеннями. У TObject є метод create – конструктор за замовчуванням. Якщо ми не визначимо свій конструктор запустить автоматично і заповнить поля і властивості.

Деструктор (описують зарезервов. словом «Destructor»), на відміну від конструктора, не зв’язаний з будь-якими специфічними діями. Процедуру, яка руйнує екземпляр об’єкта, прийнято називати деструктором. З деструкторами поєднюють процедури, які не тільки припиняють роботу з певним об’єктом, але й звільняють виокремлену йому динамічну пам’ять. У класі TObject є стандартний деструктор –Destroy (інують ще два: Free і FreeAndNil).

21. Наведіть приклади використання конструкторів.

А)Приклад конструктора:

Constructor TPerson.Create;

BEGIN

Fname:=’’;

Faddress:=’’;

END;

Б) За допомогою ключового слова inheritedвикликаємо конструктор предка, потім заповнюємо значенням поле нащадка.

Constructor Temployee.Create(Name: TName; Dep: integer);

Begin

Inherited Create(Name); //тілоконструктора

FDepartment:=Dep;

End;

22. Поясніть призначення кожного із специфікаторів рівня доступу у Delphi.

рівнів доступу:

  • Private – закрита частина классу

  • Public – загальнодоступна частина класі

  • Publishedполя, які можна редагувати в Object Inspector при створенні інтерфейсу

  • Protected – частина класу доступна нащадкам даного класу

  • Automated – використовувався у ранніх версіях Delphi

  • Strictдля посилання на область видимості

23. Властивості, їхнє призначення, правила використання та синтаксис оголошення.

Властивості – специфічне поєднання даних із процедурами і/або функціями.

Властивості являють собою атрибути, які складають індивідуальність об'єкта і допомагають описати його. Наприклад, звичайна кнопка у вікні додатку має такі властивості, як колір, розміри, положення. Для екземпляра класу "кнопка" значення цих атрибутів задаються за допомогою властивостей — спеціальним змінним, обумовленим ключовим словом property. Колір може задаватися властивістю Color, розміри — властивостями Width і Height і т.д.  Оскільки властивість забезпечує обмін даними з зовнішнім середовищем, то для доступу до його значення використовуються спеціальні методи класу. Тому зазвичай властивість визначається трьома елементами: полем і двома методами, що здійснюють його читання/запис:  type  TAnObject = class(TObject)  function GetColor: TSomeType;  procedure SetColor(ANewValue: TSomeType);  property AColor: TSomeType read GetColor write SetColor;  end;  У даному прикладі доступ до значення властивості AColor здійснюється через виклики методів GetColor і SetColor

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]