Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АП. Методичнi вказiвки.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
1.25 Mб
Скачать

Лабораторна робота № 15 класи

Завдання: Для вибраного варіанту (список тим приведений нижче) створити об'єкт, спадкоємця даного об'єкту і показати можливість використання віртуальних методів.

Клас в ООП - це структурний тип даних, який включає опис полів даних, процедур і функцій, що працюють з цими полями даних.

Визначення класу в Borland Pascal 7.0 здійснюється в два етапи. На першому етапі описується структура класу, де указуються: ім'я класу, поля даних і прототипи (заголовки) методів:

TYPE

<ім'я класу> = object

<ім'я поля даних 1> : <тип даних 1>;

..

<ім'я поля даних N> : < тип даних N>;

Procedure <ім'я методу 1>(<список параметрів>);

Function <ім'я методу 2>(<список параметрів>):<тип функції>;

Procedure <ім'я методу L>(<список параметрів>);

Function <ім'я методу М>(<список параметрів>):<тип функції>;

End;

Поля даних класу можуть бути наступних типів: числового; логічного; символьного; строкового адресного); типу діапазон; множина; масив; файл; клас; покажчик на клас; і ін.

Методами є процедури і функції мови Borland Pascal 7.0. У описі структури класу указуються тільки заголовки методів (ім'я процедури або функції, список передаваних параметрів, тип функції).

На другому етапі описуються тіла методів, причому перед ім'ям методу через крапку указується ім'я класу, а список параметрів і тип функції можна опустити.

Procedure <ім'я класу>.< ім'я методу>;

<опис локальних змінних, процедур і функцій >

Begin <оператори> End;

Function <ім'я класу>.< ім'я методу>;

<опис локальних змінних, процедур і функцій>

Begin <оператори> End;

Дані і методи описуються в одному класі. Таке оголошення об'єднує дані з процедурами і функціями, що маніпулюють цими даними. При цьому всі дані, описані усередині класу, автоматично стають глобальними по відношенню до його методів, тобто загальнодоступними як для процедур, так і для функцій класу. Описавши новий тип - клас, ми дістаємо можливість оголошувати змінні цього класу. Змінну типу класу прийнято називати екземпляром класу або об'єктом.

Наслідування

Наслідування -це таке співвідношення між класами, коли один клас використовує структурну або функціональну частину одного або декількох інших класів (відповідно просте і множинне наслідування).

У Borland Pascal 7.0 реалізовано просте наслідування, при якому у класу може бути тільки один батько, але скільки завгодно нащадків.

Будь-який клас можна оголосити нащадком раніше описаного класу. Нащадок успадковує всі дані і методи класу батька і доповнює їх своїми даними і методами.

Поліморфізм

Borland Pascal реалізує механізми простого і складного поліморфізму.

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

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

Складний поліморфізм. При складному поліморфізмі конкретний аспект поліморфного методу також визначається типом об'єкту, для якого він викликаний, але тільки не на етапі компіляції, а на етапі виконання програми (пізнє скріплення).

Необхідність пізнього скріплення обумовлена зокрема тим, що в Borland Pascal дозволяється покажчику на об'єкти класу-батька привласнювати адресу об'єкту класу-нащадка. Оскільки при передачі об'єктів як параметри використовуються покажчики, формально описаному параметру типу деякого класу може відповідати фактичний параметр не тільки того ж типу, але і типу класу, похідного від вказаного.

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

Поліморфні методи, для яких застосовується пізнє скріплення, називають віртуальними.

Для опису віртуальних методів використовується службове слово virtual:

Список тем для лабораторних робіт по ООП

  1. Коливальний контур (резонансна частота, комплексний опір, добротність, резонанс струмів, резонанс напруги).

  2. Матриця (Всі математичні операції з матрицями).

  3. Певний інтеграл (методи: трапецій, Сімпсона, Ньютона-Котеса )

  4. Площі фігур (круг, еліпс, трикутник, паралелограм, фігура, обмежена ламаною лінією)

  5. Об'єми фігур (куб, куля, тор, циліндр, еліпсоїд обертання, конус, перетин цих фігур площиною)

  6. Погрішності обчислень (абсолютна, відносна, погрішність суми, різниці, твору, приватного, довільної формули)

  7. Електротехнічні розрахунки (перетворення зірки в трикутник і трикутника в зірку)

  8. Музичний інструмент.

  9. Світовий час (час в головних столицях миру)

  10. Електромагнітні хвилі (довідник)

  11. Валюта

  12. Електричні одиниці (довідник)

  13. Механічні одиниці (довідник)

  14. Куховарська книга (список продуктів, блюда, які з них можна приготувати, кіл. на одну порцію).

  15. Календар до 3000 року.

  16. Домашній бюджет (доходи, витрати, плата за комунальні послуги, розваги)

  17. Овочі (довідник).

  18. Фрукти (довідник).

  19. Побутова радіоапаратура (довідник).

  20. Побутові електроприлади (довідник).

  21. Цикли активності(фізичний, інтелектуальний, емоційний)

  22. Розрахунки конденсаторів

  23. Розрахунки індуктивних елементів (круглого витка, прямокутного витка, одношарової котушки, багатошарової котушки)

  24. Моделювання маятників (математичний, фізичний, груз на пружині, крутильний)

  25. Ліфт

  26. Автомобіль.

  27. Біполярні транзистори (довідник)

  28. Польові транзистори (довідник)

  29. Діоди (довідник).

  30. Резистор (постійний, змінний, потужність, габарити).

  31. Тиристори (довідник).

  32. Операційний підсилювач

  33. Мультивібратори (довідник).

  34. Трігери (довідник).

  35. Цифрові лічильники (довідник)

  36. Регістри (довідник.)

  37. Комбінаційні цифрові пристрої (довідник)

  38. Підсилювач (класифікація, Унч,увч, смуговий, Ачх,фчх) (довідник)

  39. Випрямлячі (довідник)

  40. Стабілізатори (довідник).

  41. Фільтри (довідник)

  42. Генератори (довідник)

  43. Калькулятор

  44. Оптрони (довідник)

  45. Джерела оптичного випромінювання (довідник)

  46. Приймач оптичного випромінювання (довідник)

  47. Бактерія.

  48. Комп'ютери (довідник).

  49. Операції з комплексними числами.

  50. Операції з векторами

  51. Побудова крапок і ліній в 3-х мірному просторі

62

(C) 03.07.2008