Pärand sisse Java (koos näitega)

Mis on pärand?

Pärisosa on mehhanism, mille käigus üks klass omandab teise klassi omaduse. Näiteks pärib laps oma vanemate iseloomujooned. Pärimisega saame taaskasutada olemasoleva klassi välju ja meetodeid. Seega hõlbustab pärimine korduvkasutatavust ja see on OOP-de oluline kontseptsioon.

Milles seisneb pärand Java?

Java Pärisosa on mehhanism, mille käigus üks klass omandab teise klassi omaduse. sisse Java, kui kahe klassi vahel on suhe „Is-A”, kasutame pärimist. Ülemklassi nimetatakse superklassiks ja päritud klassi alamklassiks. Märksõna extends alamklass kasutab seda superklassi tunnuste pärimiseks. Pärimine on oluline, kuna see toob kaasa koodi korduvkasutatavuse.

Java Pärimise süntaks:

class subClass extends superClass  
{  
   //methods and fields  
} 

Pärimise tüübid sisse Java

Siin on erinevad pärimise tüübid Java:

  1. Ühekordne pärand
  2. Mitmekordne pärand
  3. Mitmetasandiline pärand
  4. Hierarhiline pärand
  5. Hübriidne pärand

1. Üksikpärimine:

Single Heritance puhul laiendab üks klass teist klassi (ainult üks klass).

Üksik pärand sisse Java
Ühekordne pärand

Ülaltoodud diagrammil laiendab klass B ainult klassi A. Klass A on superklass ja klass B on alamklass.

2. Mitmekordne pärimine:

Mitmikpärimine on üks pärandist Java tüübid, kus üks klass hõlmab rohkem kui ühte klassi. Java ei toeta mitmikpärimist.

Mitu pärand sisse Java
Java Mitmekordne pärand

Ülaltoodud diagrammi kohaselt laiendab C-klass nii A- kui ka B-klassi.

3. Mitmetasandiline pärimine:

Mitmetasandilise pärimise korral saab üks klass pärida tuletatud klassist. Seega saab tuletatud klassist uue klassi baasklass.

Mitmetasandiline pärand Java
Mitmetasandiline pärand

Nagu on näidatud diagrammil, klass C on B alamklass ja B on alamklassi A klass.

4. Hierarhiline pärand:

Hierarhilises pärimises pärivad ühe klassi paljud alamklassid.


Hierarhiline pärand Java
Hierarhiline pärand

Nagu ülaltoodud näites, pärivad B-, C- ja D-klassid sama klassi A.

5. Hübriidne pärand:

Hübriidne pärand on üks pärimise tüüpidest Java mis on ühe- ja mitmekordse pärimise kombinatsioon.


Hübriidne pärand
Hübriidne pärand

Nagu ülaltoodud näites, päritakse kõik A-klassi avalikud ja kaitstud liikmed D-klassi, esiteks klassi B ja teiseks klassi C kaudu.

Märge: Java ei toeta hübriid/mitmekordset pärimist

Pärand sisse Java Näide

Siin on näide pärimise kohta Java:


Näide Java Pärisosa
Java Pärimise näide

class Doctor {
 void Doctor_Details() {
  System.out.println("Doctor Details...");
 }
}

class Surgeon extends Doctor {
 void Surgeon_Details() {
  System.out.println("Surgen Detail...");
 }
}

public class Hospital {
 public static void main(String args[]) {
  Surgeon s = new Surgeon();
  s.Doctor_Details();
  s.Surgeon_Details();
 }
}

Super märksõna

Supermärksõna sarnaneb märksõnaga „sellele”. Märksõna super saab kasutada mis tahes vanemklassi andmeliikmele või meetoditele juurdepääsuks. Super märksõna saab kasutada aadressil muutuja, meetod ja konstruktori tase.

süntaksit:

super.<method-name>();

Kontrollige ka: - see märksõna sisse Java: Mis on ja kuidas seda näitega kasutada

Õppige pärimist OOP-is näite abil

Mõelge samale pangarakendusele eelmine näide.

Me peaksime avama kahte erinevat tüüpi kontot, ühe salvestamiseks ja teise kontrollimiseks (tuntud ka kui jooksev).

Pärand OOP-is

Võrdleme ja uurime, kuidas läheneda kodeerimisele a-st struktureeritud ja objektorienteeritud programmeerimise perspektiiv.

Struktuurne lähenemine: Struktureeritud programmeerimises loome kaks funktsiooni –

  1. Üks tagasi tõmbuda
  2. Ja teine ​​sissemaksete jaoks.

Kuna nende funktsioonide töö jääb kontodel samaks.

Pärand OOP-is

OOP lähenemine: Kui kasutate OOP-d programmeerimise lähenemine. Loome kaks klassi.

  • Igal neist on sisse- ja väljamaksefunktsioonid.
  • See tekitab üleliigset lisatööd.

Pärand OOP-is

Tarkvara muutmise taotlus

Nüüd on muudatus nõuete spetsifikatsioonis millegi jaoks, mis on tarkvaratööstuses nii tavaline. Peate lisama arvelduskrediidi funktsiooniga privilegeeritud pangakonto. Taustaks on arvelduskrediit, mille abil saate välja võtta summa, mis on suurem kui teie konto saldo.

Tarkvara muutmise taotlus

Struktuurne lähenemine: Kasutades funktsionaalset lähenemist, pean muutma oma tagasivõtmisfunktsiooni, mis on juba testitud ja loodud. Ja lisage alltoodud meetod, mis hoolitseb uute nõuete eest.

Tarkvara muutmise taotlus

OOP lähenemine: Kasutades OOP-i lähenemisviisi, peate lihtsalt kirjutama uue klassi, millel on unikaalne tagasivõtmise funktsiooni rakendamine. Me ei puudutanud kunagi testitud koodiosa.

Tarkvara muutmise taotlus

Veel üks muutmistaotlus

Mis siis, kui nõue muutub veelgi? Meeldib lisada krediitkaardikonto oma ainulaadse sissemaksenõudega.

Tarkvaranõude mitme muudatuse taotlus

Struktuurne lähenemine: Struktuurset lähenemist kasutades tuleb testitud deposiidikoodi uuesti muuta.

Struktuurne lähenemine tarkvara mitme muudatuse taotlusele

OOP lähenemine: Kuid objektorienteeritud lähenemisviisi kasutades loote lihtsalt uue klassi, millel on unikaalne sissemaksemeetodi rakendamine (alloleval pildil punaselt esile tõstetud). Ehkki struktuurne programmeerimine tundub esialgu lihtne lähenemisviis, võidab OOP pikas perspektiivis.

OOP lähenemine mitme muudatuse taotlusele

Pärimise eelised OOP-ides

Kuid võib väita, et kõigis klassides on teil korduvad kooditükid.

Sellest ülesaamiseks loote emaklassi, ütlete "konto" ja rakendate sama sisse- ja väljamakse funktsiooni. Ja muuta lasteklassid päritud "konto" klassiks. Et neil oleks juurdepääs kontoklassis väljamakse- ja sissemaksefunktsioonidele. Funktsioone ei pea eraldi rakendama. See on Pärand Javas. .

Pärimise eelised OOP-ides

Pärimise eelised OOP-ides