Junior
118
questionbank
Как в .NET реализовано наследование?
Ответ от нейросети
sobes.tech AI
В .NET наследование реализовано как механизм, позволяющий создавать новые классы на основе существующих. Новый класс (класс-наследник, производный класс) наследует члены базового класса (предок, родительский класс).
- Одиночное наследование: В C# класс может наследовать только от одного базового класса.
- Наследование интерфейсов: Класс может реализовывать множество интерфейсов.
- Ключевые слова:
:: используется для указания базового класса и реализуемых интерфейсов.base: используется для доступа к членам базового класса из производного класса.virtual: указывает, что метод, свойство или индексатор в базовом классе может быть переопределен в производном классе.override: указывает, что метод, свойство или индексатор в производном классе переопределяет член с таким же именем из базового класса с модификаторомvirtualилиabstract.abstract: указывает, что класс или член класса является абстрактным и не может быть создан напрямую (для абстрактного класса) или не имеет реализации (для абстрактного члена) и должен быть переопределен в производном классе.sealed: указывает, что класс не может быть унаследован.
- Конструкторы: Конструкторы базового класса не наследуются, но могут быть вызваны из конструктора производного класса с помощью ключевого слова
base.
// Базовый класс
public class BaseClass
{
public int BaseProperty { get; set; }
public BaseClass(int baseValue)
{
BaseProperty = baseValue;
}
public virtual void Display()
{
Console.WriteLine($"Base Property: {BaseProperty}");
}
}
// Производный класс
public class DerivedClass : BaseClass
{
public string DerivedProperty { get; set; }
public DerivedClass(int baseValue, string derivedValue) : base(baseValue)
{
DerivedProperty = derivedValue;
}
// Переопределение метода базового класса
public override void Display()
{
base.Display(); // Вызов метода базового класса
Console.WriteLine($"Derived Property: {DerivedProperty}");
}
}