Razvoj v Javi za začetnike.

Dedovanje v Javi - osnove in primeri

Vsi videoposnetki vadnice Razvoj v Javi za začetnike

Dedovanje je osrednji koncept v objektno usmerjenem programiranju (OOP) in ga pogosto obravnavajo kot enega od gradnikov za povečanje učinkovitosti. V tem vadnici boš poglobil svoje razumevanje dedovanja v Javi. Naučil se boš, kako ravnati z dostopnimi modifikatorji, uporabljati konstruktorje in kakšno vlogo ima enkapsulacija pri dedovanju.

Najpomembnejši ugotovitve

  • Dedovanje omogoča pridobivanje lastnosti in metod razreda.
  • Dostopni modifikator private omejuje dostop do spremenljivk ali metod, medtem ko protected omogoča razširjen dostop znotraj razredov, ki dedujejo iz izvornega razreda.
  • Konstruktorje je treba klicati v podrazredu, da se objekti pravilno instancirajo.
  • Metholode v vmesniku je mogoče posplošiti, ko imamo več specifičnih razredov.

Časovnica korak za korakom

Dostopni modifikatorji: protected vs. private

Če v razredu, kot je Vozilo, deklariraš spremenljivko (npr. Barva) kot protected, lahko to spremenljivko v izpeljanem razredu (npr. Avto) uporabiš neposredno. Če pa spremenljivko deklariraš kot private, ne moreš neposredno dostopati do nje v podrazredu.

Dedovanje v Javi - Osnove in primeri

To konkretno pomeni, da je dostop do private spremenljivk mogoč le preko setterjev in getterjev.

Primer prikazuje, da moramo uporabiti setBarva in getBarva, da dostopamo do private spremenljivke barva.

Dedovanje v Javi - Osnove in primeri

Če je spremenljivka deklarirana kot protected, lahko preprosto dostopaš do nje v razredu Avto in spremeniš vrednost.

Uporaba konstruktorjev v dedovanju

Ko definiraš podrazred, moraš zagotoviti, da se konstruktor nadrazreda pravilno kliče.

Dedovanje v Javi - osnove in primeri

To zagotavlja, da se barva ob ustvarjanju objekta Avto pravilno inicializira.

Dedovanje v Javi - Osnove in primeri

Paziti moraš, da v podrazredu definiraš konstruktor, ki ustrezno prenese parametre nadrazreda.

Dedovanje in klici metod

Še dva razreda, Vozilo in Avto, ti omogočata uporabo splošnih spremenljivk in metod. Ko definiraš metodo v Vozilu, jo lahko uporabiš tudi v Avto, ne da bi jo morali ponovno pisati.

Dedovanje v Javi - Osnove in primeri

Tukaj je metoda izpišiBarvoVozila poklicana, ki izpiše vrednost barve, ki jo zagotavlja metoda getBarva.

Omejitve dostopa do metod

Če poskusiš poklicati metodo v podrazredu, ki ni na voljo za ta razred, dobiš napako pri prevajanju. V našem primeru mora biti predmet Vozilo predan, da se pokliče metoda getBarva.

Dedovanje v Javi - Osnove in primeri

To praktično pomeni, da moraš zagotoviti, da metoda ustreza tvojemu podatkovnemu tipu, preden jo pokličeš. Tako lahko predaš kolo, avto ali oboje metodi, ki pričakuje le objekta Vozilo.

Primer klica instančnih metod v statičnih kontekstih

Upoštevaj, da v statičnih metodah (static) ključne besede this ne moreš uporabiti, ker se ne nanaša na specifično instanco. V takih primerih morda vzemi drugo metodo ali prestrukturiraj logiko.

Dedovanje v Javi - Osnove in primeri

Zaradi tega klica se barva za objekt meinAvto pravilno izpiše.

Sklep - Dedovanje v Javi: Vodnik za začetnike

Dedovanje je pomemben koncept v programiranju z Javo, ki ti pomaga modularizirati in ponovno uporabiti kodo. V tej vadnici si spoznal osnove dostopnih modifikatorjev, konstruktorjev in klicev metod v povezavi z dedovanjem.

Pogosto zastavljena vprašanja

Kako lahko dostopam do private spremenljivk v podrazredu?Do private spremenljivk v podrazredu ni mogoče neposredno dostopati. Uporabi getter in setter metode.

Kako je razlika med protected in private?protected omogoča dostop v podrazredu in v istem paketu, medtem ko je private dostopen le znotraj lastnega razreda.

Ali moram definirati konstruktorje v podrazredu?Da, če si prilagodil konstruktor nadrazreda, moraš tudi konstruktorje v podrazredu ustrezno definirati.

Ali lahko prosto prepisujem metode iz nadrazredov v podrazredih?Da, lahko prepisuješ metode, ki niso označene z final ali static, v podrazredu, da implementiraš specifično vedenje.