Наследование классов в языке С#.
class имя_класса: базовый_класс
{//определение собственных компонент
};
При этом в списке базовых классов может быть указан лишь один класс, множественное наследование реализаций классов в C# запрещено. Этим разработчики языка радикально решили вопрос разрешения имен для одноименных компонент при наследовании.
Компоненты базового класса становятся доступны в производном без дополнительных объявлений и описаний. Область видимости компонент базового класса (protected и public) сохраняется и в производном.
Вызов конструктора базового класса осуществляется с использованием ключевого слова base:
конструктор_производного_класса(список_параметров):
base (список_аргументов)
{
// тело конструктора
}
Если ключевое слово base опустить, то будет вызван конструктор базового класса по умолчанию.
Модификаторы методов при наследовании
Модификатор | Целевой элемент | Описание |
virtual | Методы и классы | Метод (ы) могут быть переопределены в классах-потомках |
override | Методы | Метод переопределяет виртуальный метод предка |
new | Методы | Метод скрывает одноименный метод базового класса |
abstract | Классы, методы | Абстрактный метод не содержит реализации, только прототип. |
sealed | Классы, методы | Закрытый класс (метод), не допускающий наследования (переопределения) |