Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vidpovidi_OOP.doc
Скачиваний:
21
Добавлен:
23.02.2016
Размер:
281.6 Кб
Скачать

8. Мова Java –об’єктно-орієнтована мова програмування.

9. Об’єктно-орієнтована модель системи масового обслуговування та її реалізація мовою Java.

10. Формування класу „Пристрій обслуговування” системи масового обслуговування та його реалізація мовою Java.

11. Формування класу „Черга з необмеженою довжиною” системи масового обслуговування та його реалізація мовою Java.

12. Формування класу „Система масового обслуговування” на основі класів „Пристрій” та „Черга”. Реалізація класу „Система масового обслуговування” мовою Java.

13. Формування класу „Черга з обмеженою довжиною” на основі раніше створеного класу „Черга з необмеженою довжиною”.

14. Створення об’єктів „одноканальна система масового обслуговування з необмеженою чергою”, „одноканальна система масового обслуговування з обмеженою чергою”.

15. Поняття наслідування класів. Ієрархія класів.

Наслідування – механізм побудови нового класу на основі вже існуючого класу, який забезпечує передачу усіх властивостей існуючого класу новому класу. Клас-засновник називається суперклас (superclass), базовий клас (base class) або батьківський клас, а побудований клас називають сабклас (subclass) або клас-нащадок. Сабклас переймає усі поля і методи суперкласу (окрім конструктора). Опис сабкласу містить посилання на суперклас і опис власних полів та методів, що доповнюють і розширюють опис суперкласу. Наприклад, клас „викладач” може бути створений на основі класу „співробітник ВНЗ”.

Один суперклас може стати основою для створення декількох сабкласів. Будь-який сабклас, в свою чергу, також може стати батьківським класом для інших сабкласів. Таким чином створюється ієрархія класів. Кількість рівнів в ієрархії класів може бути будь-якою великою. Ієрархію класів представляють за допомогою діаграм класів. Наприклад, суперклас „співробітник ВНЗ” може стати суперкласом для класів „викладач”, „лаборант”, „аспірант”, „завідуючий кафедри”, „декан”, а клас „викладач” може стати суперкласом для класів „асистент”, „старший викладач”, „доцент”, „професор” (рисунок).... Важливо: інколи суперкласи створюються програмістом спеціально для опису деяких загальних властивостей множини класів для 1) спрощення програмування; 2) для використання посилання на об’єкти суперкласу в циклах типу „для всіх елементів множини об’єктів, що належать суперкласу”. Наприклад, для всіх „співробітників ВНЗ” нарахувати заробітну плату.

Інший приклад: суперклас „геометрична фігура” для класів „пряма лінія”, „трикутник”, „прямокутник”, „коло”,....

Ще приклад: усі класи є нащадком узагальненого класу TObject (Object Pascal), Object (Java), (C++) і наслідують ......

16. Механізм перевизначення методів класу-нащадка.

Якщо метод суперкласу не задовольняє потребам сабкласу, то він може бути переписаний. Звичайно, можна було б написати аналогічний метод суперкласу з іншим ім’ям. Але, якщо потрібно буде звернутись до усіх об’єктів, що належать суперкласу, і викликати однаковий метод, то потрібно буду спочатку визначити, до якого сабкласу належить елемент, і потім указати ім’я методу (при чому для кожного нащадка своє ім’я). Механізм наслідування дозволяє об’явити всі об’єкти-нащадки такими, що належать деякому суперкласу. І якщо існує метод, який має виконуватись в розрахунках для кожного об’єкта-нащадка з урахуванням його специфічних особливостей, то такий метод зручно визначити за допомогою механізму перевизначення. Наприклад, метод „виконання посадових обов’язків” об’єкта „співробітник ВНЗ” може бути перевизначений для об’єктів „доцент”, „професор”, „лаборант”, „завідуючий кафедри”.

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