Kas ir virtuālā funkcija Java?



Šis raksts aptver virtuālās funkcijas jēdzienu Java ar tā pielietojumu polimorfismā un funkciju izsaukšanu izpildes laikā ar piemēriem.

Java ir kas atbalsta tādus jēdzienus kā polimorfisms, mantošana, abstrakcija utt. Šie OOP jēdzieni griežas apkārt klases , objektiem un dalībnieka funkcijas. Virtuālā funkcija ir viens no šādiem jēdzieniem, kas palīdz izpildes laika polimorfismā. Šajā emuārā mēs uzzināsim par virtuālo funkciju . Šajā rakstā ir apskatītas šādas tēmas.

Kas ir virtuālā funkcija Java?

Virtuālās funkcijas uzvedība var būt pārspēts ar mantoto klases funkciju ar tādu pašu nosaukumu. Tas būtībā ir definēts bāzes klasē un tiek ignorēts mantotajā klasē.





abstraktā klase un saskarnes atšķirība

Paredzams, ka Java virtuālā funkcija tiks definēta . Virtuālo funkciju mēs varam izsaukt, atsaucoties uz atvasinātās klases objektu, izmantojot bāzes klases atsauci vai rādītāju.

Katra Java statiskā metode pēc noklusējuma ir virtuāla metode. Java nav tāda virtuālā atslēgvārda kā C ++ , bet mēs tos varam definēt un izmantot tādiem jēdzieniem kā izpildlaika polimorfisms.



Virtuālo funkciju piemērs

Apskatīsim piemēru, lai saprastu, kā mēs varam izmantot virtuālās funkcijas Java.

klases transportlīdzeklis {void make () {System.out.println ('heavy duty')}} publiskās klases kravas automašīnas pagarina transportlīdzekli {void make () {System.out.println ('Transportlīdzeklis lieljaudai')} public static void main (String args []) {Transportlīdzeklis ob1 = jaunas kravas automašīnas () ob1.make ()}}
 Izeja: Transporta līdzeklis lieljaudai

Katra Java statiskā metode, kas nav statiska, ir virtuāla funkcija, izņemot galīgais un privātās metodes . Metodes, kuras nevar izmantot polimorfismam, neuzskata par virtuālo funkciju.

TO netiek uzskatīta par virtuālo funkciju, jo statiskā metode ir saistīta ar pašu klasi. Tāpēc mēs nevaram izsaukt statisko metodi no objekta nosaukuma vai klases . Pat tad, ja mēs ignorējam statisko metodi, tas nereaģē ar polimorfisma jēdzienu.



Virtuālā funkcija ar saskarnēm

Visas Java saskarnes ir virtuālas, lai nodrošinātu metožu ieviešanu, tās balstās uz ieviešanas klasēm. Izpildes kods tiek izvēlēts izpildes laikā. Šeit ir vienkāršs piemērs labākai izpratnei.

interfeiss Automašīna {void applyBrakes ()} saskarne Audi ievieš automašīnu {void ApplyBrakes () {System.out.println ('pārtraukumi ir piemēroti')}}

Šeit ApplyBreaks () ir virtuāls, jo funkcijas saskarnēs ir paredzētas, lai tās ignorētu.

Tīra virtuālā funkcija

Pure virtuālā funkcija ir virtuāla funkcija, kuru mums nav. Abstraktu metodi Java var uzskatīt par tīru virtuālo funkciju. Ņemsim piemēru, lai to labāk saprastu.

abstrakta klase Suns {final void bark () {System.out.println ('woof')} abstrakts void jump () // šī ir tīra virtuāla funkcija} klase MyDog izpleš Dog {void jump () {System.out.println ('Lec gaisā')}} public class Runner {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
 Izeja: Lec gaisā

Šādi virtuālo funkciju var izmantot abstraktā klasē.

Ekspluatācijas laika polimorfisms

Izpildes laika polimorfisms ir tad, kad izsaukums uz ignorēto metodi tiek atrisināts izpildes laikā, nevis apkopošanas laiks . Pārņemtā metode tiek izsaukta caur bāzes klases atsauces mainīgo.

klases Edureka {public void show () {System.out.println ('welcome to edureka')}} klases kurss pagarina Edureka {public void show () {System.out.println ('Java Certification Program')} public static void galvenais (String args []) {Edureka ob1 = new Course () ob1.show ()}}
 Izeja: Java sertifikācijas kurss

Norāda, ka jāatceras

  • Virtuālai funkcijai Java nav nepieciešama skaidra deklarācija. Tas ir jebkurš kas mums ir bāzes klasē un no jauna definēts atvasinātajā klasē ar tādu pašu nosaukumu.

  • Bāzes klases rādītāju var izmantot, lai atsauktos uz atvasinātās klases objektu.

  • Programmas izpildes laikā bāzes klases rādītājs tiek izmantots, lai izsauktu atvasinātās klases funkcijas.

Tādējādi mēs nonākam līdz šī raksta beigām, kur mēs esam uzzinājuši par Java virtuālo funkciju. Es ceru, ka jums ir skaidrs viss, kas ar jums ir kopīgots šajā apmācībā.

Ja jums šis raksts par “Virtuālo funkciju Java” ir aktuāls, pārbaudiet uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē.

ko dara .trim java

Mēs esam šeit, lai palīdzētu jums katrā solī jūsu ceļojumā un izdomātu mācību programmu, kas paredzēta studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji. Kurss ir paredzēts, lai dotu jums sākumu Java programmēšanā un apmācītu gan pamata, gan uzlabotas Java koncepcijas kopā ar dažādām patīk Pārziemot & .

Ja rodas kādi jautājumi, droši uzdodiet visus jautājumus komentāru sadaļā “Virtuālā funkcija Java”, un mūsu komanda ar prieku atbildēs.