Spisu treści:
Definicja - Co oznacza klasa pochodna?
Klasa pochodna, w kontekście C #, jest klasą utworzoną lub pochodną z innej istniejącej klasy. Istniejąca klasa, z której tworzona jest klasa pochodna poprzez dziedziczenie, jest znana jako klasa podstawowa lub superklasa.
Podczas dziedziczenia po klasie bazowej klasa pochodna domyślnie dziedziczy wszystkie elementy (z wyjątkiem konstruktorów i destruktorów), których używa ponownie, rozszerza i modyfikuje zachowanie klasy podstawowej. Klasa pochodna przesłania właściwości i metody klasy bazowej, tak że reprezentuje wyspecjalizowaną wersję klasy bazowej. C # zapewnia możliwość zastępowania i ukrywania metod klasy bazowej w klasie pochodnej, co sprawia, że obie klasy mogą swobodnie ewoluować i zachować zgodność binarną.
Techopedia wyjaśnia klasę pochodną
Oto niektóre cechy klas pochodnych w C #:
- Podobnie jak w Javie i w przeciwieństwie do C ++, klasa pochodna nie może mieć więcej niż jednej klasy bazowej, ale może pochodzić z więcej niż jednego interfejsu. Jednak dziedziczy on wszystkich członków nadrzędnych klas bazowych zadeklarowanych w hierarchii dziedziczenia ze względu na przechodni charakter dziedziczenia
- Modyfikatory dostępu użyte w deklaracji klasy pochodnej określają uprawnienia do używania członków jej klasy podstawowej
- Kod w konstruktorze klasy pochodnej, który jest wykonywany podczas jego tworzenia, zostanie wykonany dopiero po wykonaniu konstruktora jego klasy podstawowej
- Klasa pochodna musi użyć modyfikatora „override”, aby zadeklarować metodę wirtualną (zadeklarowaną w swojej klasie podstawowej słowem kluczowym „virtual”), którą należy zastąpić. Można zastąpić tylko metody i właściwości instancji
- Klasa pochodna może mieć nową metodę, która ukrywa metodę wirtualną zadeklarowaną w bazie (z podobną sygnaturą) za pomocą słowa kluczowego „new”. Aby uzyskać dostęp do metody w klasie bazowej z klasy pochodnej, można użyć słowa kluczowego „base”
- Klasa może zapobiec wyprowadzeniu, deklarując ją jako „zapieczętowaną” i nie może być używana jako klasa podstawowa
- Klasa pochodna z klasą podstawową jako klasą abstrakcyjną może zostać utworzona instancja, jeśli klasa pochodna nie zostanie zadeklarowana jako abstrakcyjna, a klasa pochodna ma implementację dla wszystkich metod abstrakcyjnych zadeklarowanych w klasie podstawowej
