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

Похідний клас (також називається дочірнім класом) — це клас, який успадковує властивості іншого класу. У свою чергу, базовий клас (також називається батьківським класом) — це клас, від якого відбувається успадкування.
Синтаксис для створення успадкованого класу виглядає наступним чином:
index.cs
1234567891011// Base class (parent class) public class BaseClass { // Fields and methods of the base class } // Derived class (child class) public class DerivedClass : BaseClass { // Additional fields and methods specific to the derived class }
Ось приклад із конкретним кодом:
index.cs
12345678910111213141516171819202122232425262728293031323334353637using System; // Base class (parent class) public class Animal { public string Name; public void Eat() { Console.WriteLine($"{Name} is eating."); } } // Derived class (child class) public class Dog : Animal { public void Bark() { Console.WriteLine($"{Name} is barking."); } } class ConsoleApp { static void Main() { // Creating an instance of the derived class Dog myDog = new Dog(); myDog.Name = "Buddy"; // Using inherited method from the base class myDog.Eat(); // Using method specific to the derived class myDog.Bark(); } }
У цьому прикладі Dog
є похідним класом, який успадковує властивості від базового класу Animal
. Клас Dog
має доступ до властивості Name
та методу Eat
з класу Animal
. Додатково, він вводить новий метод Bark
, який є специфічним для класу Dog
.
Як показано на діаграмі, можуть бути випадки, коли клас успадковується від класу, який вже є похідним від іншого класу:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; // Base class public class Animal { public void Eat() { Console.WriteLine("Animal is eating."); } } // Intermediate class inheriting from Animal public class Mammal : Animal { public void GiveBirth() { Console.WriteLine("Mammal is giving birth."); } } // Derived class inheriting from Mammal public class Dog : Mammal { public void Bark() { Console.WriteLine("Dog is barking."); } } class Program { static void Main() { Dog myDog = new Dog(); // Methods from the base class myDog.Eat(); // Methods from the intermediate class myDog.GiveBirth(); // Methods from the derived class myDog.Bark(); } }
У такому випадку клас на найвищому рівні називається суперкласом. У цьому випадку Animal
є суперкласом. Такий випадок, коли існує декілька рівнів наслідування, називається багаторівневе наслідування.
У деяких мовах дозволяється, щоб клас наслідувався від декількох базових класів, таке наслідування називається множинне наслідування. У C# клас може мати лише один батьківський клас, тому множинне наслідування у C# неможливе.
1. У C#, який ключове слово або символ використовується для оголошення похідного класу?
2. У багаторівневому наслідуванні, як називається клас на вершині?
3. Чи можливе багаторівневе наслідування у C#?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.04
Похідні Класи
Свайпніть щоб показати меню
Коли говорять, що клас є похідним від іншого класу, це означає, що він має всі поля та методи батьківського класу, а також може містити додаткові поля та методи.

Похідний клас (також називається дочірнім класом) — це клас, який успадковує властивості іншого класу. У свою чергу, базовий клас (також називається батьківським класом) — це клас, від якого відбувається успадкування.
Синтаксис для створення успадкованого класу виглядає наступним чином:
index.cs
1234567891011// Base class (parent class) public class BaseClass { // Fields and methods of the base class } // Derived class (child class) public class DerivedClass : BaseClass { // Additional fields and methods specific to the derived class }
Ось приклад із конкретним кодом:
index.cs
12345678910111213141516171819202122232425262728293031323334353637using System; // Base class (parent class) public class Animal { public string Name; public void Eat() { Console.WriteLine($"{Name} is eating."); } } // Derived class (child class) public class Dog : Animal { public void Bark() { Console.WriteLine($"{Name} is barking."); } } class ConsoleApp { static void Main() { // Creating an instance of the derived class Dog myDog = new Dog(); myDog.Name = "Buddy"; // Using inherited method from the base class myDog.Eat(); // Using method specific to the derived class myDog.Bark(); } }
У цьому прикладі Dog
є похідним класом, який успадковує властивості від базового класу Animal
. Клас Dog
має доступ до властивості Name
та методу Eat
з класу Animal
. Додатково, він вводить новий метод Bark
, який є специфічним для класу Dog
.
Як показано на діаграмі, можуть бути випадки, коли клас успадковується від класу, який вже є похідним від іншого класу:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; // Base class public class Animal { public void Eat() { Console.WriteLine("Animal is eating."); } } // Intermediate class inheriting from Animal public class Mammal : Animal { public void GiveBirth() { Console.WriteLine("Mammal is giving birth."); } } // Derived class inheriting from Mammal public class Dog : Mammal { public void Bark() { Console.WriteLine("Dog is barking."); } } class Program { static void Main() { Dog myDog = new Dog(); // Methods from the base class myDog.Eat(); // Methods from the intermediate class myDog.GiveBirth(); // Methods from the derived class myDog.Bark(); } }
У такому випадку клас на найвищому рівні називається суперкласом. У цьому випадку Animal
є суперкласом. Такий випадок, коли існує декілька рівнів наслідування, називається багаторівневе наслідування.
У деяких мовах дозволяється, щоб клас наслідувався від декількох базових класів, таке наслідування називається множинне наслідування. У C# клас може мати лише один батьківський клас, тому множинне наслідування у C# неможливе.
1. У C#, який ключове слово або символ використовується для оголошення похідного класу?
2. У багаторівневому наслідуванні, як називається клас на вершині?
3. Чи можливе багаторівневе наслідування у C#?
Дякуємо за ваш відгук!