Dedovanje v Java OOP s primerom

Kazalo:

Anonim

Kaj je dedovanje?

Dedovanje je mehanizem, pri katerem en razred pridobi lastnost drugega razreda. Otrok na primer podeduje lastnosti svojih staršev. Z dedovanjem lahko ponovno uporabimo polja in metode obstoječega razreda. Dedovanje torej olajša ponovno uporabnost in je pomemben koncept OOP.

V tej vadnici boste izvedeli-

  • Vrste dedovanja
  • Dedovanje v Javi
  • Primer dedovanja Java
  • Super ključna beseda
  • Naučite se dedovanja v OOP-jih s primerom

Vrste dedovanja

V Javi obstajajo različne vrste dedovanja:

Enkratno dedovanje:

Pri enojnem dedovanju en razred razširi drug razred (samo en razred).

Enkratno dedovanje

V zgornjem diagramu razred B razširja samo razred A. Razred A je super razred in razred B je podrazred.

Večkratno dedovanje:

Pri večkratnem dedovanju en razred, ki se razteza več kot en razred. Java ne podpira večkratnega dedovanja.

Večkratno dedovanje

Kot na zgornjem diagramu, razred C razširja razred A in razred B.

Dedovanje na več ravneh:

Pri večstopenjski dedovanju lahko en razred podeduje izpeljani razred. Izpeljani razred zato postane osnovni razred novega razreda.

Dedovanje na več ravneh

Kot je prikazano na diagramu, je razred C podrazred B in B podrazred razreda A.

Hierarhično dedovanje:

Pri hierarhični dedovanju en razred podeduje več podrazredov.

Hierarhično dedovanje

Kot v zgornjem primeru razred B, C in D podedujejo isti razred A.

Hibridno dedovanje:

Hibridno dedovanje je kombinacija enojnega in večkratnega dedovanja.

Hibridno dedovanje

Kot v zgornjem primeru so vsi javni in zaščiteni člani razreda A podedovani v razred D, najprej prek razreda B in drugič prek razreda C.

Opomba: Java ne podpira hibridnega / večkratnega dedovanja

Dedovanje v Javi

JAVA DEDOVANJE je mehanizem, pri katerem en razred pridobi lastnost drugega razreda. Ko v Javi obstaja razmerje "Is-A" med dvema razredoma, uporabljamo dedovanje. Nadrejeni razred se imenuje super razred, podedovani razred pa podrazred. Ključna beseda

extends uporablja podrazred za podedovanje lastnosti super razreda.

Dedovanje je pomembno, saj vodi do ponovne uporabe kode.

Sintaksa dedovanja Java:

class subClass extends superClass{//methods and fields}

Primer dedovanja Java

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 ključna beseda

Ključna beseda super je podobna ključni besedi "this".

Ključno besedo super lahko uporabimo za dostop do katerega koli podatkovnega člana ali metod nadrejenega razreda.

Ključna beseda Super se lahko uporablja na ravni spremenljivke, metode in konstruktorja.

Sintaksa:

super.();

Naučite se dedovanja v OOP-jih s primerom

Razmislite o isti bančni aplikaciji iz prejšnjega primera.

Odprli naj bi dve različni vrsti računa, enega za shranjevanje in drugega za preverjanje (znan tudi kot trenutni).

Primerjajmo in preučimo, kako lahko kodiranja pristopimo s strukturiranega in objektno usmerjenega programskega vidika. Strukturni pristop : pri strukturiranem programiranju bomo ustvarili dve funkciji -

  1. Enega za umik
  2. In drugo za depozit.

Ker delovanje teh funkcij ostaja enako v vseh računih.

Pristop OOP : Med uporabo programskega pristopa OOP . Ustvarili bi dva razreda.

  • Vsak ima funkcije depozita in dviga.
  • To bo odvečno dodatno delo.

Zahteva za spremembo v programski opremi

Zdaj se je spremenila specifikacija zahtev za nekaj, kar je tako pogosto v industriji programske opreme. Dodali bi morali privilegiran bančni račun s funkcijo prekoračitve. Za preteklost je prekoračitev sredstva, kjer lahko dvignete znesek, večji od razpoložljivega stanja na vašem računu.

Strukturni pristop: Z uporabo funkcionalnega pristopa moram spremeniti svojo funkcijo umika, ki je že preizkušena in osnova. In če dodate metodo, kot je spodaj, boste poskrbeli za nove zahteve.

Pristop OOP: Z uporabo pristopa OOP morate samo napisati nov razred z edinstveno izvedbo funkcije umika. Nikoli se nismo dotaknili preizkušenega dela kode.

Še ena zahteva za spremembo

Kaj če se zahteva še spremeni? Radi bi dodali račun kreditne kartice z lastno zahtevo po vlogah .

Strukturni pristop: Če uporabljate strukturni pristop, morate ponovno spremeniti preizkušeno kodo depozita.

Pristop OOP : Z uporabo objektno usmerjenega pristopa pa boste ustvarili nov razred z edinstveno izvedbo metode pologa (na spodnji sliki označeno rdeče).

Torej, čeprav se strukturno programiranje na začetku zdi preprost pristop, OOP dolgoročno zmaga.

Prednost dedovanja v OOP

Lahko pa trdimo, da imate v vseh razredih ponavljajoče se kode.

Če želite to premagati, ustvarite nadrejeni razred, izgovorite "račun" in izvedite isto funkcijo pologa in dviga. In naj podrejeni razredi podedujejo razred "računa". Tako bodo imeli dostop do funkcij dvigovanja in polaganja v razredu računov.

Funkcij ni treba izvajati posamezno. To je dedovanje v javi. .