НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Мова програмування C#. Уроки W3Schools українською для початківців

En Es De

C# Успадкування


Успадкування (похідний і базовий клас)

У C# можна успадкувати поля та методи від одного класу до іншого. Ми групуємо «концепцію успадкування» у дві категорії:

  • Похідний клас (дочірній) — клас, який успадковує інший клас
  • Базовий клас (батьківський) — клас, який успадковується

Щоб успадкувати від класу, використовуйте символ двокрапки :.

У прикладі нижче клас Car (дочірній) успадковує поля та методи від Vehicle класу (батьківського):

Приклад

class Vehicle  // base class (parent)
{
  public string brand = "Ford";  // Vehicle поле
  public void honk()             // Vehicle метод
  {                    
    Console.WriteLine("Tuut, tuut!");
  }
}

class Car : Vehicle  // похідний клас (дочірній)
{
  public string modelName = "Mustang";  // Car поле
}

class Program
{
  static void Main(string[] args)
  {
    // Створити об’єкт myCar
    Car myCar = new Car();

    // Викликати метод honk() (з класу Vehicle) для об’єкта myCar
    myCar.honk();

    // Відобразити значення поля brand (з класу Vehicle) та значення modelName з класу Car
    Console.WriteLine(myCar.brand + " " + myCar.modelName);
  }
}

Виконати приклад »

Навіщо і коли використовувати "Наслідування"?

Це корисно для повторного використання коду: повторно використовуйте поля та методи існуючого класу під час створення нового класу.

Порада: також перегляньте наступний розділ, C# Поліморфізм, який використовує успадковані методи для виконання різних завдань.


Ключове слово sealed

Якщо ви не хочете, щоб інші класи успадковували клас, використовуйте ключове слово sealed:

Якщо ви спробуєте отримати доступ до sealed класу, C# створить помилку:

sealed class Vehicle
{
...
}

class Car : Vehicle
{
...
}

Повідомлення про помилку буде приблизно таким:

'Car': cannot derive from sealed type 'Vehicle'