Moștenirea în limbajul de programare Java

Moștenirea în limbajul de programare Java. partea a IX-

În Java, există un instrument eficient numit - moștenire. Acesta este un instrument foarte puternic, fără de care nici un cost, nici un program profesional scris. Fiecare dintre cei care citesc aceste rânduri neapărat vrea să fie un programator profesionist, astfel încât mecanismul de moștenire merită luat în considerare în detaliu.

Moștenirea - un mecanism care vă permite să moștenească de la mama sa în ierarhia unei clase toate caracteristicile sale. Ce înseamnă clasă, în picioare în ierarhia? există un termen în superclasa și subclasa în Java. De exemplu, Siemens are o anumită clasă:

Siemens pentru a crea o subclasă a clasei, trebuie să utilizați cuvântul cheie se extinde:

clasa SiemensM55 este o subclasă de clasa Siemens, la rândul său, Siemens clasa este superclasa pentru clasa SiemensM55. clasa SiemensM55 moștenește toți membrii superclasei sale, iar Siemens are capacitatea de a le accesa cu o singura conditie: toți membrii superclasei Siemens, pe care doriți mai târziu accesul trebuie să fie declarată cu publicul. Din moment ce nu ne-am definit, în general, nici un calificativ, și implicit publicului de cuvinte cheie, atunci subclasa SiemensM55, va avea acces la toți membrii superclasa Siemens.

De exemplu, în exemplul de mai sus, unde am calculat aria ecranului, puteți utiliza metoda de suprafață () și variabilele w și h. Nu aveți nevoie pentru a trece peste variabilele și metodele superclasei Siemens, dar puteți adăuga mai multe variabile și metode pentru SiemensM55 subclasa pune în aplicare propriile măsuri specifice acestei subclase.

Crearea unei subclasă NokiaE93, ai acces la toți membrii superclasei Nokia definite ca publice. Folosind operatorul „“ (punct), aveți acces deschis la variabilele și metodele superclasei. Când creați un obiect al superclasei, cum ar fi Nokia nokiasuper = noul Nokia (), obiectul clasei generate pot utiliza membrii lor de clasă, dar membrii unei subclase a acesteia nu sunt disponibile.

Cu alte cuvinte, o subclasă se extinde o superclasă, adăugarea de noi membri într-o subclasă, astfel de adaptare în sine în cadrul noului, necesar doar pentru o subclasă de membri ai clasei, rezervând utilizarea membrilor superclasei.

Superclasa are dreptul de a avea orice număr de subclase, de exemplu, în exemplul de mai sus, puteți crea o duzină sau două subclase: NokiaE95, NokiaN80, Nokian-Gage, și așa mai departe. Dar fiecare subclasă poate avea doar un singur superclasa. moștenire multiplă în Java, nu sunt furnizate. Dar fiecare dintre subclasele pot avea propria sub-clasă, iar acest lanț de moștenire poate dura până la infinit inteligent.

În acest exemplu, pentru a crea o superclasă și subclasă Nokia folosit în mod deliberat constructorul implicit. Situația cu constructorul superclasei necesită o atenție specială.

Atunci când programul este invocat constructor, apelul se efectuează în conformitate cu toată ierarhia de moștenire. Primul se numește constructorul superclasei prima și scade sub toate ierarhia moștenirii. Dar, uneori, trebuie să contactați cel mai apropiat constructor superclasa și apoi utilizați super cuvinte cheie. Luați în considerare un mic exemplu.

Dacă doriți să utilizați constructorul cel mai apropiat subclasa constructor de superclasa ar trebui să meargă mai întâi la cuvântul cheie super-cu parametrii necesari pentru constructorul superclasei. super-cuvinte cheie are o dublă semnificație și pot fi utilizate nu numai pentru a apela constructorul superclasei. A doua opțiune folosind super cuvinte cheie, este accesul la elementul invizibil al superclasei. Acum ne-am atins pe așa-numita problema de vizibilitate. V-ați gândit vreodată ce s-ar întâmpla dacă metodele sau variabilele din superclasa si subclasa se va potrivi cu numele?

Faptul este că, în cazul în care o subclasă va avea aceleași numele tuturor membrilor clasei, se va utiliza numai membrii clasei tale. Toate datele superclasei vor fi inaccesibile sau invizibile din cauza coincidență de nume. Pentru aceste scopuri pot fi utilizate cuvânt super-. Priviți exemplul arată cum să-l folosească:

Utilizarea super-cheie este foarte similar cu un obiect de referință de clasă la metode și variabile. Când aveți nevoie pentru a obține acces la membrii superclasei care au același nume, utilizați super cuvinte cheie sau de a face chiar mai ușor pentru a permite doar diferitele denumiri pentru membrii superclasei și subclasa.

În Java, există un alt cuvânt cheie acest lucru, efectuează acțiuni similare. Cu acest cuvânt cheie, puteți efectua un apel orice alt constructor din aceeași clasă sau utilizate pentru a furniza o referință la un parametru care nu se află în constructorul clasei.

Rezumând tema de moștenire este necesar să se menționeze clasa Object. În Java, toate clasele sunt moștenite de la mare Object superclasa. Acest lucru se întâmplă în mod automat și este îngrijorat cu privire la moștenirea explicită folosind cuvantul cheie extends nu este necesară.