Оглавление:
Определение - Что означает производный класс?
Производный класс в контексте C # - это класс, созданный или производный от другого существующего класса. Существующий класс, из которого производный класс создается посредством наследования, называется базовым или суперклассом.
При наследовании от базового класса, производный класс неявно наследует все члены (кроме конструкторов и деструкторов), которые он использует, расширяет и изменяет поведение базового класса. Производный класс переопределяет свойства и методы базового класса, так что он представляет специализированную версию базового класса. C # предоставляет возможность переопределять и скрывать методы базового класса в производном классе, что позволяет обоим классам свободно развиваться и поддерживать двоичную совместимость.
Техопедия объясняет производный класс
Ниже приведены некоторые особенности производных классов в C #:
- Как и в Java, и в отличие от C ++, производный класс не может иметь более одного базового класса, но может быть получен из нескольких интерфейсов. Однако он наследует все члены своих родительских базовых классов, объявленных в его иерархии наследования, из-за переходного характера наследования
- Модификаторы доступа, используемые в операторе объявления производного класса, определяют разрешения на использование членов его базового класса.
- Код в конструкторе производного класса, который выполняется при его создании, будет выполняться только после выполнения конструктора его базового класса
- Производный класс должен использовать модификатор 'override', чтобы объявить виртуальный метод (объявленный в его базовом классе с ключевым словом 'virtual'), который должен быть переопределен. Только методы и свойства экземпляра могут быть переопределены
- Производный класс может иметь новый метод, который скрывает виртуальный метод, объявленный в базе (с похожей подписью), используя ключевое слово «new». Чтобы получить доступ к методу в базовом классе из производного класса, можно использовать ключевое слово «base»
- Класс может предотвратить деривацию, объявив его «запечатанным» и не может использоваться в качестве базового класса
- Производный класс с базовым классом в качестве абстрактного класса можно создать, если производный класс не объявлен как абстрактный, а производный класс имеет реализацию для всех абстрактных методов, объявленных в базовом классе.
