Съдържание:
Определение - Какво означава производен клас?
Производният клас в контекста на C # е клас, създаден или производен от друг съществуващ клас. Съществуващият клас, от който произлиза производният клас чрез наследяване, е известен като базов или суперклас.
Докато наследява от базовия клас, полученият клас имплицитно наследява всички членове (с изключение на конструктори и деструктори), които той използва повторно, разширява и променя поведението на базовия клас. Полученият клас отменя свойствата и методите на базовия клас, така че да представлява специализираната версия на базовия клас. C # предоставя възможност за отмяна и скриване на методи на базовия клас в производен клас, което кара двата класа да се развиват свободно и да поддържат двоична съвместимост.
Техопедия обяснява производен клас
Следват някои от характеристиките на производни класове в C #:
- Както в Java и за разлика от C ++, производен клас не може да има повече от един базов клас, но може да бъде извлечен от повече от един интерфейс. Въпреки това той наследява всички членове на своите базови класове, декларирани в неговата наследствена йерархия, поради преходния характер на наследяването
- Модификаторите на достъп, използвани в декларацията за декларация на производен клас, определят разрешенията за използване на членове от базовия му клас
- Код в конструктора на производен клас, който се изпълнява по време на неговото създаване, ще бъде изпълнен само след изпълнение на конструктор на неговия базов клас
- Полученият клас трябва да използва модификатора, 'override', за да декларира виртуалния метод (деклариран в неговия базов клас с 'виртуална' ключова дума), който трябва да бъде отменен. Само методите и свойствата на екземпляра могат да бъдат отменени
- Полученият клас може да има нов метод, който скрива виртуалния метод, деклариран в база (с подобен подпис), като използва ключовата дума „нов“. За достъп до метода в базовия клас от производен клас може да се използва ключовата дума 'base'
- Класът може да предотврати производното, като го декларира като „запечатан“ и не може да бъде използван като базов клас
- Производният клас с базовия клас като абстрактен клас може да бъде инстанциран, ако изведеният клас не е деклариран абстрактно и производен клас има приложението за всички абстрактни методи, декларирани в базовия клас