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

Контольні запитання

1.Навіщо потріні конструктори.

2.Призначення статичного конструктора.

3.Що означає – перевантажений метод.

4.Основні принципи ООП.

5.Що таке –THIS, наведіть приклади його використання.

6.Базовий клас для усіх типів .Net.

7.Як можна викликати статичний метод.

8.Засоби інкапсуляції.

9.Відкритий інтерфейс.

10. Області видимості.

Частина 2. Спадкоємство.

Мета - Навчитися створювати класи, похідні від базового класу, створювати об'єкти похідного класу, викликати методи базового і похідного класів.

Завдання. Створити клас, похідний від базового класу, створеного в попередній лабораторній роботі.

Теоретична частина

  • Спадкоємство - це можливість створювати класи на базі вже існуючих класів. Спадкоємство дозволяє розширювати можливості базового класу, шляхом додавання нових полів і методів в похідному класе.

  • Спадкоємство - це один з трьох основних принципів об'єктно-орієнтованого програмування і завдання спадкоємства - забезпечити повторне використання коду.

  • Клас, який успадковується, називається базовим. Клас, який успадковує базовий клас, називається похідним.

  • Існує два основні види спадкоємства: класичне спадкоємство (відношення «бути» - is-a) і включення-делегування (відношення «мати» - has-a). Основна ідея класичного спадкоємства полягає в тому, що похідні класи повинні отримувати функціональність від базового класу-предка і доповнювати її новими можливостями.

  • У C# покажчик на базовий клас виглядає як двокрапка (:).

  • У С# базовий клас при спадкоємстві може бути вказаний тільки один клас. Множинне спадкоємство заборонено.

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

  • При оголошенні членів класу для елементів, які доступні похідним класам застосовується специфікатор доступу protected.

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

  • Для виклику конструктора базового класу використовується ключове слово base.

  • Якщо ключове слово base відсутнє при визначенні конструктора похідного класу, то викликається конструктор за умовчанням базоваго класу.

  • Використання ключового слова new при визначенні членів похідного класу означає свідоме приховування членів базового класу.

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

  • Іноді при розробці класу потрібно заборонити можливість спадкоємства від нього. Для цього використовується ключове слово sealed, яке указується при оголошенні класу. Даний механізм може знадобитися при розробці якогось службового класу. Наприклад, вже відомий нам клас Console бібліотеки .NET Framework оголошений з використанням sealed.