Tipuri de moștenire în Java: Single, Multiple, Multilevel & Hybrid

Publicat: 2021-06-30

Introducere

Limbajul de programare „Java” este utilizat pe scară largă în dezvoltarea de aplicații pentru mobil, web, desktop, etc. Este un limbaj de programare robust, de nivel înalt și orientat pe obiecte dezvoltat de Sun Microsystems în 1995. În ciuda faptului că este un limbaj de programare , Java are un API și un mediu de rulare (JRE) și, prin urmare, este numit și ca platformă.

Mai multe concepte există în Java, cu patru concepte principale pentru a pune mâna pe limbaj. Ele sunt abstracția, încapsularea, moștenirea și polimorfismul.

În acest articol, ne vom concentra pe conceptul de moștenire în Java și pe tipurile de moștenire în java .

Ce este Moștenirea?

După cum sugerează și numele, moștenirea înseamnă moștenirea proprietăților. Mecanismul prin care unei clase i se permite să obțină proprietățile unei clase diferite se numește moștenire. Cu conceptul de moștenire, informațiile dintr-un program pot fi organizate ierarhic.

În Java, conceptul de moștenire permite utilizatorilor să creeze clase și să utilizeze proprietățile claselor existente.

Câteva terminologii importante asociate conceptului sunt:

  • Clasa : este definită ca un grup de obiecte care au proprietăți comune.
  • Subclasă : Cunoscută și ca o clasă derivată sau extinsă, această clasă moștenește caracteristicile de la o altă clasă. De asemenea, împreună cu câmpurile și metodele moștenite, clasa generată din clasă poate adăuga câmpuri și metode proprii.
  • Super clasă : Superclasa reprezintă clasa ale cărei caracteristici sunt moștenite de o subclasă.
  • Reutilizabilitate : Tehnica de reutilizare permite utilizatorului să creeze o clasă (una nouă) având câmpurile sau metodele unei clase deja existente. Permite reutilizarea codului.

Importanța moștenirii Java

Implementarea moștenirii în Java oferă următoarele beneficii:

  • Moștenirea minimizează complexitatea unui cod prin minimizarea codului duplicat. Dacă același cod trebuie să fie folosit de o altă clasă, el poate fi pur și simplu moștenit de la acea clasă în subclasa sa. Prin urmare, codul este mai bine organizat.
  • Eficiența execuției unui cod crește pe măsură ce codul este organizat într-o formă mai simplă.
  • Conceptul de polimorfism poate fi folosit împreună cu moștenirea.

Sintaxă

Sintaxa de bază este

Clasa superclasa {

—————-

}

subclasa clasa extinde superclasa

{

————–

——————

}

Cuvântul cheie „se extinde” este folosit în timpul moștenirii unei clase. Acesta definește faptul că funcționalitatea superclasei este extinsă la subclase.

Noua clasă creată se numește sub-clasă, în timp ce clasa moștenită este numită clasă părinte.

Figura 1: Un exemplu de cod care aplică moștenirea java este prezentat mai jos

Sursă

Două clase Calculation și My_Calculation sunt create în exemplul de mai sus. Metodele plus() și Scădere() sunt moștenite din calculul clasei în My_Calculation. Extinderea cuvintelor cheie a fost folosită pentru moștenirea metodelor.

Compilarea și execuția codului de mai sus oferă următoarele rezultate.

Figura 2: Ieșirea codului din Figura 1

Sursă

Crearea clasei My_Calculation copiază conținutul superclasei în subclasă. Cu obiectele subclasei, utilizatorii pot accesa membrul subclasei.

În anumite cazuri când trebuie să facem diferența între membrii subclasei de cei ai superclasei având aceleași nume, se folosește cuvântul cheie „super”. Dacă se presupune că avem două clase Sub_class și Super_class având aceeași metodă, adică display(). Implementarea metodei este diferită, dar are același nume. Într-un astfel de caz, pentru a diferenția între superclasa metodei de cea a subclasei, trebuie folosit cuvântul cheie super.

Tipuri de moștenire Java

Diferitele tipuri de moștenire sunt observate în Java:

1. Moștenire pe un singur nivel

După cum sugerează și numele, acest tip de moștenire are loc doar pentru o singură clasă. Din clasa părinte este derivată o singură clasă. Diagrama de flux a unei singure moșteniri este prezentată mai jos:

Figura 3: Ilustrarea grafică a moștenirii pe un singur nivel

Sursă

Două clase Clasa A și Clasa B sunt prezentate în Figura 3 , unde Clasa B moștenește proprietățile Clasei A.

Figura 4 : Un exemplu de cod care aplică moștenirea pe un singur nivel

Sursă

2. Moștenirea pe mai multe niveluri

Moștenirea pe mai multe niveluri include implicarea a cel puțin două sau mai mult de două clase. O clasă moștenește caracteristicile de la o clasă părinte, iar subclasa nou creată devine clasa de bază pentru o altă clasă nouă.

Figura 5: O diagramă de flux a moștenirii pe mai multe niveluri

Sursă

Din diagrama de flux din Figura 5 , putem observa că clasa B este o clasă derivată din clasa A, iar clasa C este derivată în continuare din clasa B. Prin urmare, conceptul de clasă bunici ia naștere în moștenirea pe mai multe niveluri. Cu toate acestea, membrii clasei unui bunic nu pot fi accesați direct în Java.

Prin urmare, Figura 5 arată că clasa C moștenește metodele și proprietățile atât ale clasei A, cât și ale clasei B.

Un exemplu de moștenire pe mai multe niveluri este prezentat mai jos cu trei clase X, Y și Z. Clasa Y este derivată din clasa X care creează în continuare clasa Z.

Figura 6: Un exemplu de moștenire pe mai multe niveluri

Sursă

3. Moștenirea ierarhică

Tipul de moștenire în care multe subclase moștenesc de la o singură clasă este cunoscut sub numele de Moștenire ierarhică.

Figura 7: Reprezentarea grafică a unei moșteniri ierarhice.

În Figura 7 , putem observa că cele trei clase Clasa B, Clasa C și Clasa D sunt moștenite din singura Clasă A. Toate clasele copil au aceeași clasă părinte în moștenire ierarhică.

Figura 8: Un exemplu de cod care arată conceptul de moștenire ierarhică

Sursă

Codul de mai sus produce rezultatul

miaunat…

mâncând…

În afară de aceste tipuri de moștenire în Java , există și alte tipuri cunoscute sub numele de moșteniri multiple și moștenire hibridă. Ambele tipuri nu sunt acceptate prin clase și pot fi realizate doar prin utilizarea interfețelor.

4. Moștenirea multiplă

Moștenirile multiple este un tip de moștenire în care o subclasă poate moșteni caracteristici de la mai multe clase părinte.

Figura 9: Reprezentarea moștenirilor multiple

Sursă

Figura 4 arată că Clasa C este derivată din cele două clase Clasa A și Clasa B. Cu alte cuvinte, se poate descrie că subclasa C moștenește proprietăți atât de la Clasa A, cât și de la B.

5. Moștenirea hibridă

Moștenirea hibridă este un tip de moștenire care combină moștenirea unică și moștenirile multiple. Deoarece moștenirile multiple nu sunt acceptate de Java, moștenirea hibridă poate fi realizată și prin intermediul interfețelor.

Figura 10: Reprezentarea unei moșteniri hibride

Sursă

Cu diferitele tipuri de moștenire în Java, scopul final este de a crea subclase cu proprietăți moștenite de la superclase. Subclasele create au diferite proprietăți care sunt:

  • Câmpurile și metodele moștenite într-o subclasă pot fi utilizate direct.
  • Câmpuri și metode noi pot fi, de asemenea, declarate în subclasa care nu este prezentă în superclasă.
  • O nouă metodă de instanță poate fi creată în subclasă având aceeași semnătură ca metoda din superclasă. Procesul este denumit suprascriere.
  • O nouă metodă statică poate fi creată în subclasă având aceeași semnătură ca metoda din superclasă. Procesul este denumit ascundere.

Învață cursuri de software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Articolul a discutat despre conceptul important de moștenire în Java și despre tipurile de moștenire în Java . Prin urmare, moștenirea este mecanismul prin care putem reutiliza codurile pentru a dobândi proprietățile unei clase într-o altă clasă. Acest lucru poate fi realizat prin diferitele tipuri de modele de moștenire, așa cum se arată în articol. Cu toate acestea, conceptul de moștenire este mult mai mult. Pentru a excela în domeniul dezvoltării, este necesară stăpânirea în programarea complexă a Java. Dacă aveți un vis de a inova dispozitive inteligente, atunci Programul Executive PG în Dezvoltare software full-stack oferit de upGrad’s ar fi cea mai bună alegere. Certificat de la Universitatea Liverpool John Moores , cursul în asociere cu IIIT Bangalore oferă peste 500 de ore de învățare și este conceput pentru profesioniștii timpurii. Abilitățile dobândite de la cursul upGrad vor ajuta la deschiderea de oportunități în domeniul dezvoltării de software, dezvoltării web, dezvoltatorului javascript etc. Deschis oricărui gen din grupa de vârstă 21-45 de ani, programul interactiv ar putea fi cea mai bună alegere pentru toți codificatorii.

Ce este moștenirea?

Moștenirea este un proces prin care un nou obiect dobândește proprietățile obiectului anterior. Ca exemplu, puteți considera o clasă „umană”. Pot exista multe proprietăți ale oamenilor pe care doriți să le includeți în clasa dvs., cum ar fi înălțimea, greutatea, etc. Deci, o modalitate de a face acest lucru este să definiți toate acele proprietăți din nou în clasa dvs. Poate fi o modalitate bună de a învăța programarea orientată pe obiecte, dar nu o practică bună. Cel mai bun mod de a face acest lucru este de a moșteni toate acele proprietăți dintr-o anumită clasă. Clasa „copil” poate moșteni toate proprietățile clasei „uman” (sau „părinte”). Aceasta se numește moștenire în programarea orientată pe obiecte.

Ce este programarea orientată pe obiecte?

Ce este moștenirea multiplă?