Moștenirea în POO-urile Java cu Exemplul

Ce este Moștenirea?

Moștenirea este un mecanism în care o clasă dobândește proprietatea altei clase. De exemplu, un copil moștenește trăsăturile părinților săi. Cu moștenirea, putem reutiliza câmpurile și metodele clasei existente. Prin urmare, moștenirea facilitează reutilizarea și este un concept important al POO.

În acest tutorial, veți învăța-

  • Tipuri de moștenire
  • Moștenirea în Java
  • Java Exemplu de moștenire
  • Super cuvânt cheie
  • Aflați moștenirea în POO cu Exemplu

Tipuri de moștenire

Există Diferite tipuri de moștenire în Java:

Single Moștenire:

În Single Moștenire o clasă extinde o altă clasă (o singură clasă).

Single Moștenire

În diagrama de mai sus, Clasa B extinde doar Clasa A. Clasa A este o super clasă și Clasa B este o subclasă.

Moștenirea multiplă:

În Moștenirea multiplă, o clasă extinde mai mult decât o clasă. Java nu acceptă moștenirea multiplă.

Moștenire multiplă

Conform diagramei de mai sus, Clasa C extinde Clasa A și Clasa B ambele.

Moștenirea pe mai multe niveluri:

În Moștenirea pe mai multe niveluri, o clasă poate moșteni dintr-o clasă derivată. Prin urmare, clasa derivată devine clasa de bază pentru noua clasă.

Moștenire pe mai multe niveluri

După cum se arată în diagramă, Clasa C este subclasa B și B este o din subclasa Clasa A.

Moștenirea ierarhică:

În Moștenirea ierarhică, o clasă este moștenită de mai multe subclase.

Moștenirea ierarhică

După exemplul de mai sus, clasa B, C și D moștenesc același lucru clasa A.

Moștenirea hibridă:

Moștenirea hibridă este o combinație de moștenire simplă și multiplă.

Moștenire hibridă

Conform exemplului de mai sus, toți membrii publici și protejați din clasa A sunt moștenit în clasa D, mai întâi prin clasa B și în al doilea rând prin clasa C.

Notă: Java nu acceptă moștenirea hibridă / multiplă

Moștenirea în Java

JAVA HERITANCE este un mecanism în care o clasă dobândește proprietatea altei clase. În Java, când există o relație „Is-A” între două clase, folosim Moștenire. Clasa părinte se numește super clasă și clasa moștenită se numește subclasă. Cuvântul cheie extends este utilizat de subclasă pentru a moșteni caracteristicile superclaselor.

Moștenire este important, deoarece conduce la reutilizarea codului.

Sintaxa Java Inheritance:

class subClass extends superClass { //methods and fields } 

Java Inheritance E xample

Super cuvânt cheie

Super cuvântul cheie este similar cu „acest” cuvânt cheie.

Cuvântul cheie super poate fi utilizat pentru a accesa orice membru de date sau metode ale clasei părinte.

Cuvântul cheie super poate fi utilizat la nivel de variabilă, metodă și constructor.

Sintaxă:

super.<method-name>();

Aflați moștenirea în POO cu Exemplu

Luați în considerare aceeași aplicație bancară din exemplul anterior .

Ar trebui să deschidem două tipuri de conturi diferite, unul pentru salvare și altul pentru verificare (cunoscut și sub numele de curent).

Să comparăm și să studiem modul în care putem aborda codarea dintr-o perspectivă de programare structurată și orientată obiect. Abordare structurală: În programarea structurată, vom crea două funcții –

  1. Una pentru retragere
  2. Și cealaltă pentru acțiune de depunere.

Deoarece funcționarea acestor funcții rămâne aceeași în toate conturile.

OOP „abordare: În timp ce utilizați abordarea de programare OOPs. Am crea două clase.

  • Fiecare are implementarea funcțiilor de depunere și retragere.
  • Această acțiune va fi redundantă.

Cerere de modificare în software

Acum există o modificare a specificației cerințelor pentru ceva atât de comun în industria software. Ar trebui să adăugați un cont bancar cu funcționalitate privilegiat cu facilitatea de descoperit de cont. Pentru un fundal, descoperitul de cont este o facilitate prin care puteți retrage o sumă mai mare decât soldul disponibil în contul dvs.

Abordare structurală: folosind abordarea funcțională, trebuie să-mi modific funcția de retragere, care este deja testat și bazat. Și adăugați o metodă precum cea de mai jos, va avea grijă de noile cerințe.

Abordarea OOP: folosind abordarea OOP, trebuie doar să scrieți o nouă clasă cu implementarea unică a funcției de retragere. Nu am atins niciodată codul testat.

O altă cerere de modificare

Ce se întâmplă dacă cerința se modifică mai departe? Doriți să adăugați un cont de card de credit cu cerința sa unică de depozite.

Abordare structurală: folosind abordarea structurală trebuie să modificați codul de depozit testat din nou.

OOP „abordare: Dar folosind abordarea orientată obiect, veți doar creați o nouă clasă cu implementarea sa unică a metodei de depunere (evidențiată în roșu în imaginea de mai jos).

Deci, chiar dacă programarea structurală pare inițial o abordare ușoară, OOP câștigă pe termen lung.

Avantajul moștenirii în POO

Dar se poate susțineți că, în toate clasele, aveți o bucată de cod repetată.

Pentru a depăși acest lucru, creați o clasă părinte, spuneți „cont” și implementați aceeași funcție de depunere și retragere. Și faceți clasele copil moștenite clasa „cont”. Astfel, aceștia vor avea acces la retragerea și depunerea funcțiilor în clasa de cont.

Funcțiile nu trebuie să fie implementate individual. Aceasta este Moștenirea în Java. .

Write a Comment

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *