Ano ang Isang Virtual Function Sa Java?



Sinasaklaw ng artikulong ito ang konsepto ng virtual na pag-andar sa java kasama ang mga aplikasyon nito sa polymorphism at pagtawag sa mga pagpapaandar sa run-time na may mga halimbawa.

Ang Java ay isang na sumusuporta sa mga konsepto tulad ng polymorphism, mana, abstraction, atbp. Ang mga konsepto ng OOP na ito ay umiikot mga klase , mga bagay , at mga pagpapaandar ng miyembro. Ang virtual function ay isang tulad konsepto na makakatulong sa run-time polymorphism. Sa blog na ito, malalaman natin ang tungkol sa virtual na pag-andar sa . Ang mga sumusunod na paksa ay tinalakay sa artikulong ito.

Ano ang isang Virtual Function Sa Java?

Ang pag-uugali ng isang virtual na pag-andar ay maaaring maging override na may namamana na pagpapaandar ng klase na may parehong pangalan. Karaniwan itong tinukoy sa batayang klase at na-override sa minana na klase.





Ang virtual function sa Java ay inaasahang matutukoy sa . Maaari nating tawagan ang virtual na pag-andar sa pamamagitan ng pag-refer sa object ng nakuha na klase gamit ang sanggunian o pointer ng batayang klase.

Ang bawat di-static na pamamaraan sa Java ay sa pamamagitan ng default isang virtual na pamamaraan. Ang Java ay walang virtual na keyword tulad ng C ++ , ngunit maaari nating tukuyin ang mga ito at magamit ang mga ito para sa mga konsepto tulad ng run-time polymorphism.



Halimbawa ng Virtual Function

Tingnan natin ang isang halimbawa upang maunawaan kung paano natin magagamit ang mga virtual function sa Java.

suweldo ng mga developer ng java sa india
klase ng Sasakyan {void make () {System.out.println ('mabigat na tungkulin')}} pampublikong klase ng Mga Trak ay nagpapalawak ng Sasakyan {void make () {System.out.println ('Transport sasakyan para sa mabibigat na tungkulin')} pampublikong static na walang bisa pangunahing (String args []) {Vehicle ob1 = mga bagong Trak () ob1.make ()}}
 Output: Sasakyang pang-transportasyon para sa mabibigat na tungkulin

Ang bawat di-static na pamamaraan sa Java ay isang virtual function maliban sa panghuli at pribadong pamamaraan . Ang mga pamamaraan na hindi maaaring gamitin para sa polymorphism ay hindi isinasaalang-alang bilang isang virtual function.

SA ay hindi itinuturing na isang virtual function dahil ang isang static na paraan ay nakasalalay sa klase mismo. Kaya hindi namin maaaring tawagan ang static na pamamaraan mula sa pangalan ng object o klase para sa . Kahit na override namin ang static na pamamaraan hindi ito umaalingon sa konsepto ng polymorphism.



Virtual Function Sa Mga Interface

Ang lahat ng mga interface ng Java ay virtual, umaasa sila sa pagpapatupad ng mga klase upang magbigay ng mga pagpapatupad ng pamamaraan. Ang code para sa pagpapatupad ay napili sa run-time. Narito ang isang simpleng halimbawa para sa mas mahusay na pag-unawa.

interface ng Car {void applyBrakes ()} interface na ipapatupad ng Audi ng Car {void applyBrakes () {System.out.println ('break Applied')}}

Narito ang applyBreaks () ay virtual dahil ang mga pagpapaandar sa mga interface ay dinisenyo upang ma-override.

Purong Pag-andar ng Virtual

Ang purong virtual function ay isang virtual function na kung saan wala kaming mga pagpapatupad. Ang isang abstract na pamamaraan sa Java ay maaaring isaalang-alang bilang isang purong virtual function. Kumuha tayo ng isang halimbawa upang maunawaan ito nang mas mabuti.

abstract class Dog {final void bark () {System.out.println ('woof')} abstract void jump () // ito ay isang purong virtual function} ang klase ng MyDog ay nagpapalawak ng Dog {void jump () {System.out.println ('Jumps in the air')}} public class Runner {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
 Output: Tumalon sa hangin

Ito ay kung paano maaaring magamit ang virtual function na may abstract class.

naka-link na listahan ng programa sa c

Run-Time Polymorphism

Ang run-time polymorphism ay kapag ang isang tawag sa isang overridden na pamamaraan ay nalulutas sa run-time sa halip na compile-time . Ang overridden na pamamaraan ay tinatawag sa pamamagitan ng variable ng sanggunian ng batayang klase.

klase Edureka {public void show () {System.out.println ('welcome to edureka')}} klase ng kurso ay nagpapalawak sa Edureka {public void show () {System.out.println ('Java Certification Program')} public static void pangunahing (String args []) {Edureka ob1 = bagong Kurso () ob1.show ()}}
 Output: Kurso sa Sertipikasyon ng Java

Mga Puntong Dapat Tandaan

  • Para sa isang virtual na pagpapaandar sa Java, hindi mo kailangan ng isang tahasang deklarasyon. Ito ay anumang na mayroon tayo sa isang batayang klase at binago ang kahulugan sa hinango na klase na may parehong pangalan.

  • Ang base class pointer ay maaaring magamit upang mag-refer sa object ng nagmula sa klase.

  • Sa panahon ng pagpapatupad ng programa, ang base class pointer ay ginagamit upang tawagan ang nagmula sa mga pagpapaandar ng klase.

Dinadala tayo nito sa pagtatapos ng artikulong ito kung saan nalaman namin ang tungkol sa Virtual Function Sa Java. Inaasahan kong malinaw ka sa lahat ng naibahagi sa iyo sa tutorial na ito.

Kung nahanap mo ang artikulong ito sa 'Virtual Function In Java' na may kaugnayan, tingnan ang isang pinagkakatiwalaang kumpanya sa online na pag-aaral na may isang network ng higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo.

Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay at magkaroon ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang katulad Hibernate & .

Kung mahahanap mo ang anumang mga katanungan, huwag mag-atubiling itanong ang lahat ng iyong mga katanungan sa seksyon ng mga komento ng 'Virtual Function In Java' at ang aming koponan ay nalulugod na sagutin.