Kas yra „Java“ virtuali funkcija?



Šis straipsnis apima virtualios funkcijos „Java“ sampratą su jos pritaikymu polimorfizme ir funkcijų iškvietimu vykdymo metu su pavyzdžiais.

„Java“ yra kuris palaiko tokias sąvokas kaip polimorfizmas, paveldėjimas, abstrakcija ir kt. Šios OOP sąvokos sukasi aplink klasės , objektai ir narių funkcijos. Virtuali funkcija yra viena iš tokių sąvokų, padedančių vykdyti laiko polimorfizmą. Šiame tinklaraštyje sužinosime apie virtualias funkcijas . Šiame straipsnyje aptariamos šios temos.

Kas yra „Java“ virtuali funkcija?

Virtualioji funkcija gali būti tokia nepaisoma su paveldima klasės funkcija tuo pačiu pavadinimu. Iš esmės jis apibrėžiamas pagrindinėje klasėje, o paveldėtoje klasėje - nepaisomas.





Tikimasi, kad „Java“ virtualioji funkcija bus apibrėžta . Virtualiąją funkciją galime iškviesti remdamiesi išvestinės klasės objektu, naudodami pagrindinės klasės nuorodą ar žymeklį.

Kiekvienas nestatinis „Java“ metodas pagal numatytuosius nustatymus yra virtualus metodas. „Java“ neturi tokio virtualaus raktinio žodžio kaip C ++ , bet mes galime juos apibrėžti ir naudoti tokioms sąvokoms kaip vykdymo laiko polimorfizmas.



Virtualių funkcijų pavyzdys

Pažvelkime į pavyzdį, kad suprastume, kaip galime naudoti virtualias „Java“ funkcijas.

klasės transporto priemonė {void make () {System.out.println ('heavy duty')}} viešosios klasės sunkvežimiai pratęsia transporto priemonę {void make () {System.out.println ('Transporto priemonė sunkiasvorėms transporto priemonėms')} public static void main (String args []) {Automobilis ob1 = nauji sunkvežimiai () ob1.daryti ()}}
 Išvestis: Transporto priemonė sunkiasvorėms

Kiekvienas nestatinis „Java“ metodas yra virtuali funkcija, išskyrus galutinis ir privatūs metodai . Metodai, kurių negalima naudoti polimorfizmui, nelaikomi virtualia funkcija.

c ++ rūšiavimo masyvas didėjimo tvarka

Į nėra laikoma virtualia funkcija, nes statinis metodas yra susietas su pačia klase. Taigi negalime iškviesti statinio metodo iš objekto pavadinimo ar klasės . Net kai mes nepaisome statinio metodo, jis nesuderinamas su polimorfizmo samprata.



Virtuali funkcija su sąsajomis

Visos „Java“ sąsajos yra virtualios, jos remiasi diegimo klasėmis, kad užtikrintų metodų įgyvendinimą. Vykdymo kodas pasirenkamas vykdymo metu. Čia yra paprastas geresnio supratimo pavyzdys.

sąsaja Automobilis {void applyBrakes ()} sąsaja „Audi“ įdiegia automobilį {void ApplyBrakes () {System.out.println ('pertraukos taikomos')}}

Čia „applyBreaks“ () yra virtualus, nes sąsajų funkcijos skirtos nepaisyti.

„mysql workbench“ pamoka pradedantiesiems

Gryna virtuali funkcija

„Pure virtual“ funkcija yra virtuali funkcija, kurią mes neturime. Abstraktus „Java“ metodas gali būti laikomas gryna virtualia funkcija. Paimkime pavyzdį, kad tai geriau suprastume.

abstrakčios klasės šuo {final void bark () {System.out.println ('woof')} abstract void jump () // tai gryna virtuali funkcija} klasė „MyDog“ išplečia šunį {void jump () {System.out.println ('Šuoliai ore')}} public class Runner {public static void main (String args []) {Šuo ob1 = naujas MyDog () ob1.jump ()}}
 Išvestis: Šoka į orą

Taip virtualią funkciją galima naudoti su abstrakčia klase.

Vykdymo laiko polimorfizmas

Vykdymo laiko polimorfizmas yra tada, kai kvietimas nepaisyti metodo išsprendžiamas vykdymo metu, o ne kompiliavimo laikas . Nepaisomas metodas iškviečiamas per bazinės klasės atskaitos kintamąjį.

klasės „Edureka“ {public void show () {System.out.println ('welcome to edureka')}} class Course išplėsti „Edureka“ {public void show () {System.out.println ('Java Certification Program')} public static void pagrindinis (String args []) {Edureka ob1 = new Course () ob1.show ()}}
 Išvestis: „Java“ sertifikavimo kursai

Nurodo prisiminti

  • Norint naudoti „Java“ virtualią funkciją, jums nereikia aiškaus deklaravimo. Tai bet koks kad mes turime bazinę klasę ir iš naujo apibrėžėme išvestinėje klasėje tuo pačiu pavadinimu.

  • Pagrindinės klasės žymeklį galima naudoti nurodant išvestinės klasės objektą.

  • Vykdant programą, bazinės klasės rodyklė naudojama iškviestoms klasės funkcijoms iškviesti.

    lentos darbalaukis 9 kvalifikuotas bendradarbis

Taip pateksime į šio straipsnio pabaigą, kur sužinojome apie „Java“ virtualiąją funkciją. Tikiuosi, kad jums aišku viskas, kas buvo pasidalinta su jumis šioje pamokoje.

Jei radote šį straipsnį apie „Virtualią funkciją„ Java ““, patikrinkite patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą, pasklido po visą pasaulį.

Mes norime jums padėti kiekviename žingsnyje ir parengti mokymo programą, skirtą studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti kurti „Java“ programavimą ir išmokyti pagrindines ir pažangias „Java“ koncepcijas kartu su įvairiomis Kaip Hibernate & .

Jei kyla klausimų, nedvejodami užduokite visus klausimus komentarų skyriuje „Virtuali funkcija„ Java ““, ir mūsų komanda mielai atsakys.