Moștenirea și derivați ai claselor (c # vs java)

Funcționalitatea unei clase existente poate fi extinsă prin crearea unei noi clase, care derivă din cea existentă. O clasă derivată moștenește toate proprietățile clasei de bază și se pot adăuga sau redefiniți metode și proprietăți în funcție de necesități.

Ca și în limbajul Java, C # nu suportă moștenire multiplă. Acest lucru înseamnă că clasele nu pot moșteni din mai multe clase. Cu toate acestea, în acest scop, puteți utiliza interfața așa cum se face în Java.

Codul de mai jos definește o clasă numit Coords cu doi membri variabile x și y privat. reprezentând poziția punctului. Aceste variabile sunt numite printr-o proprietate numită X și Y, respectiv.

constructorul clasei derivate solicită implicit constructorul clasei de bază sau superclasa folosind terminologia limbajul Java. Când moștenesc toți constructorii sunt invocate clasa de baza constructorilor clasei derivate la clase prezente în ierarhia clasei.

În și limbajul Java pentru a avea acces la membrii clasei derivate și metode nu pot fi utilizate o referință la clasa de bază, chiar dacă poate conține o referință validă la un obiect al unui tip derivat.

Consultați o clasă derivată poate folosi referința implicită la un tip derivat.

Când executați acest cod, veți observa că constructorul clasei derivate foloseste corpul metodei în clasa de bază, permițându-vă pentru a inițializa elementul contor fără a se suprapune codul. Mai jos sunt de ieșire.

Numărătoare clasa de baza = 2

Numărătoare clasă derivată = 101

O clasă abstractă declară una sau mai multe metode sau proprietăți ca abstracte. Aceste metode nu sunt puse în aplicare într-o clasă, să le declare, dar clasa abstractă poate conține, de asemenea, metode non-abstracte, există metode pentru realizarea de care este furnizat. abstract clasa de exemplu, nu pot fi create imediat - la fel ca și clasa derivată. Aceste clase derivate trebuie să ofere implementări pentru toate metodele abstracte și proprietățile cu suprareglării cuvintelor cheie. cu excepția cazului unui membru al însuși derivat nu este declarat abstractă.

Următorul exemplu declară un angajat de clasă abstractă. Puteți crea, de asemenea, o clasă derivată numit Manager. Oferă o punere în aplicare a unei metode abstracte arata (). definite în clasa angajatului.

articole similare