Головна‎ > ‎C#‎ > ‎Класи‎ > ‎

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

1. Можливість використовувати дані і методи базового класу

2. Пришвидшує розробку завдяки повторному використанню кода

3. Дозволяє створити архітектуру подібних класів

4. Успадковувати можна лише один клас

5. Відкриває дорогу до поліморфізму

6. Якщо клас успадковує 1000 інших класів, то буде важко щось додавати в базовий клас, 
аби не зробити проблеми в класах, що успадковуються.


Я - базовий клас, батьківський клас, суперклас
Він - похідний клас, дочірній клас, підклас

       class A { }
       class B : A { }
       class C : B { }



Модифікатори доступу:
  • public - надати доступ усім класам
  • protected - надати доступ лише похідним класам
  • private - закрити доступ 

internal - надати доступ на лише рівні проекту (assembly)
protected internal - надати доступ на рівні збірки і похідним класам в інших проектах





   class
Animal
   {

   }

   class Dog : Animal
   {

   }

   class Cat : Animal
   {

   }

   class Cow : Animal
   {

   }



Передача даних в базовий клас

   public B(int odyn, int dva, int try) : base(odyn, dva, try){

   }



Приведення типів 

   Cow cow = new Cow();
   Animal animal = cow;         // upcast
   Cow tmp = (Cow)animal;    // downcast


Перевірка сумісності

   bool isCow = animal is Cow;

   if (isCow) {
        Cow tmp = (Cow)animal;
   }