Что такое наследование? Поддерживает ли C# множественное наследование?
Этот вопрос проверяет знания об одной из основных концепций объектно-ориентированного программирования и ограничениях C#.
Короткий ответ
Наследование — это механизм в C#, позволяющий одному классу наследовать характеристики другого. C# не поддерживает множественное наследование для классов, но поддерживает его для интерфейсов.
Длинный ответ
Наследование — это ключевая концепция объектно-ориентированного программирования, позволяющая одному классу заимствовать свойства и методы другого класса. В C#:
- Суперкласс: Класс, чьи свойства и методы наследуются, называется суперклассом.
- Подкласс: Класс, который наследует другой класс, называется подклассом.
- Переопределение методов: Подкласс может изменять поведение унаследованных методов.
Пример наследования:
public class Animal
{
public void Speak()
{
Console.WriteLine("Animal speaks");
}
}
public class Dog : Animal
{
public void Speak()
{
Console.WriteLine("Dog barks");
}
}
class Program
{
static void Main()
{
Dog dog = new Dog();
dog.Speak(); // Вывод: Dog barks
}
}C# не поддерживает множественное наследование классов, что означает, что класс не может наследовать более одного класса. Однако, C# поддерживает множественное наследование интерфейсов.