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

Поняття класу приводить нас до поняття наслідування. Найбільш значимою після класів можливістю ООП є наслідування. Це процес створення нових класів, які називаються наслідниками або похідними класами із уже існуючих або базових класів. Похідний клас отримує всі можливості базового класу, але може бути також удосконалений за рахунок додавання власних. Базовий клас при цьому залишається незмінним.

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

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

С++ розроблений для того, щоб створення похідних класів було ефективним. Ми легко можемо використати лише частину базового класу: дані, конструктори або методи, після додати потрібні нам можливості і створити новий покращений клас.

  1. Використання просторів імен.

Кожну програму на мові С++ можна розбити на декілька так званих просторів імен. Простором імен називається область, в якій розпізнається визначена сукупність імен. Ці імена невідомі за межами даного простору імен. Директива using name std: означає, що всі визначені нижче імена в програмі будуть відноситись до простору імен з імям std. Різноманітні елементи програми, описані з використанням простору імен std, наприклад змінна cout. Якщо не використовувати директиву using, то до цих елементів програми доведеться кожного разу додавати імя std.

std : : cout << «21 АФПМ\n»

Для того, щоб не дописувати std : : кожного разу перед іменем змінної, використовується директива using.

Частина коду, яка знаходиться поза простору імен, не має доступу до його членів, принаймні звичайним способом. Простір імен робить їх невидимими. Щоб мати доступ до елементів простору імен ззовні, необхідно при зверненні до них використати назву цього простору. Це можна зробити двома способами:

  1. Кожен елемент можна випереджати назвою простору і оператором дозволу контексту.

  2. Можна використати директиву using.

Директива using зазвичай робить простір імен видимим починаючи з місця її написання і до кінця. Можна звузити область дії директиви до блока, використовуючи її, наприклад, у функції.

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

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