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

27.Абстрактні методи.

У деяких випадках немає змісту виконувати реалізацію визначених методів базового класу, наприклад, коли всі реалізації деякого методу сильно відрізняються одне від одного, а метод батьківського класу не використовується. Разом з тим відповідний метод зобов'язаний бути реалізований у кожному з класів-нащадків.

Такий метод треба оголосити в батьківському класі як абстрактний.

type TStudent = class(TObject) procedureName; virtual; abstract; end;

Тепер описувати реалізацію методу TStudent.Name не треба.

Абстрактним може бути тільки динамічний або віртуальний метод.

28.Що таке поліморфізм. Види поліморфізму.

Поліморфі́зм — концепція в програмуванні, відповідно до якої використовується спільний інтерфейс для обробки даних різних спеціалізованих типів.

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

Прикладом поліморфізму в більшості мов програмування є бінарний оператор +, який може мати своїми аргументами дані різного типу: цілі числа, числа з плаваючою точкою, комплексні числа навіть рядки:

1 + 2 - операнди цілого типу, результат цілого типу.

1.2 + 1.0e3 - операнди дійсних типів, результат дійсного типу

"коля" + "маня" - операнди рядки, результат конкатенований рядок

Поліформізм реалізується в багатьох мовах програмування за домогою перевантаження функцій.

Характеристики

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

Спільні властивості об'єктів об'єднуються в систему, яку можуть називати по різному : інтерфейс, клас. Спільність має зовнішнє і внутрішнє вираження. Зовнішня спільність проявляється як однаковий набір методів з однаковими іменами і сигнатурами (типами аргументів і результатів).

Внутрішня спільність є однакова функціональність методів. Її можна описати інтуїтивно виразити у вигляді строгих законів, правил, яким повинні підкорятись методи. Можливість приписувати різну функціональність одному методу (функції, операції) називається перевантаженням методу (функції, операції).

Види поліморфізму:

- Статичний і динамічний поліморфізм

- Поліморфізм-перевантаження

- Поліморфізм включення

- Поліморфізм перевизначення

- Параметричний поліморфізм

29.Ієрархія стандартних класів Delphi

TObject

TPersistent

TComponent

TPicture

TCanvas

TControl


TGraphicControl

TWinControl


Клас TObject:

Містить конструктор Create, деструктор Destroy; virtual

Free-знищує елемент якщо він був створений Free-якщо там не Nil то

DefaultHandler –обробляє повідомлення за замрвчуванням

TPersistant – забезпечує коректну роботу ObjectInspector; published

TComponent – від нього успадковується вся палітра компонент і клам Tapplication

TControl – визначає методи обробки повідомлень від мишки і клавіатури

TWinControl- відповідає за створення віконної системи Delphi

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