Загальні положення 4 Частина Основи мови С++ 9



Download 1,18 Mb.
bet33/37
Sana05.08.2022
Hajmi1,18 Mb.
#846530
1   ...   29   30   31   32   33   34   35   36   37
Bog'liq
Лабораторні роботи метод вказівки

Приклад рішення задачі
Див. проект «Task15».
Контрольні питання

  1. Що таке контейнер об’єктів?

  2. Наведіть приклади контейнерів.

  3. Що таке колекція об’єктів?

  4. Що таке гетерогенна колекція?

  5. Наведіть приклади, коли є сенс реалізувати та звертатися до колекції об’єктів.

  6. Як забезпечити однотипну обробку гетерогенної колекції?

  7. Наведіть приклади різноманітних методів доступу до елементів колекції.

  8. Наведіть приклади, коли необхідно забезпечити довгострокове зберігання об’єктів.

  9. Як забезпечити автоматичне відновлювання гетерогенної колекції з зовнішнього сховища (файлів)?

  10. Які є способи роботи з файлами засобами бібліотеки fstream в C++?



16 Абстрактні класи. Інтерфейси. Множинне спадкоємство


Лабораторна робота №16
Мета: розробка абстрактних класів. Використання інтерфейсів при множинному спадкоємстві.
Індивідуальне завдання
При розробці проекту використовувати раніше обрану прикладну область та реалізовану функціональність. Доповнити ієрархію класом, який забезпечує представлення Об’ єкта 4. Винести код, що повторюється, в окремі бібліотеки. Оптимізувати структуру класів. Виділити загальну і додаткову функціональність у відповідні абстрактні класи і інтерфейси. Продемонструвати ефективність множинного спадкоємства. Реалізувати можливість автоматичного (без втручання користувача) тестування.
Термінологія
Класи можуть успадковуватися один від одного. Клас-нащадок отримує всі поля і методи класу-батька, але може доповнювати їх власними або перевизначити вже наявні. В C++ допускається множинне спадкування – породження класу від двох або більше класів-батьків. Множинне успадкування створює цілий ряд проблем, як логічних, так і реалізаційних, тому використати множинного успадкування не рекомендується, а при необхідності, використовується поняття інтерфейсу.
Інтерфейс – це клас без полів і без реалізації, що включає тільки заголовки методів. Якщо якийсь клас успадковує (реалізує) інтерфейс, він повинен реалізувати всі вхідні в нього методи. Використання інтерфейсів надає альтернативу множинного спадкоємства.
При створенні ієрархії об’єктів для виключення коду, що повторюється, часто буває зручно виділяти їх загальні властивості в один базовий клас. При цьому може виявитися, що створювати екземпляри такого класу не має сенсу, тому що жодні реальні об’єкти їм не відповідають. Такий клас називають абстрактним.
В абстрактному класі визначаються лише загальні призначення методів, які повинні бути реалізовані в похідних класах, але сам по собі цей клас не містить реалізації методів, а тільки їх сигнатуру.
Абстрактний або чистий віртуальний метод – це метод, який не має реалізації (тіла).
Клас, в якому є хоча б одна чиста віртуальна функція, називається абстрактним класом. Об’єкти абстрактного класу створювати заборонено, так як він реалізований не повністю. При передачі параметра в функцію неможливо передати об’єкт абстрактного класу по значенню. Однак, вказівники і посилання на об’єкт абстрактного класу використовувати можна.
При успадкуванні абстрактність зберігається: якщо клас-нащадок не реалізує успадковану чисту віртуальну функцію, то він також буде абстрактним.
Автоматизоване тестування програмного забезпечення – процес тестування на етапі контролю якості в ході розробки програмного забезпечення. Використовуються програмні засоби для виконання тестів і перевірки результатів виконання, що допомагає скоротити час тестування і спростити його процес.
Модульне тестування (unit testing) – це метод тестування програмного забезпечення, який полягає в окремому тестуванні кожного модуля коду програми. Модулем називають найменшу частину програми, яку може бути протестованою. У процедурному програмуванні модулем вважають окрему функцію або процедуру. В об’єктно-орієнтованому програмуванні – інтерфейс, клас. Модульні тести, або unit-тести, розробляються в процесі розробки.

Download 1,18 Mb.

Do'stlaringiz bilan baham:
1   ...   29   30   31   32   33   34   35   36   37




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish