Čo je to virtuálna funkcia v prostredí Java?



Tento článok sa zaoberá príkladmi virtuálnej funkcie v jave s jej aplikáciami v polymorfizme a vyvolaním funkcií za behu.

Java je ktorý podporuje koncepty ako polymorfizmus, dedičnosť, abstrakcia atď. Tieto koncepty OOP sa točia okolo triedy , predmety a členské funkcie. Virtuálna funkcia je jedným z takýchto konceptov, ktorý pomáha pri behu polymorfizmu. V tomto blogu sa dozvieme o virtuálnych funkciách v . V tomto článku sa zaoberáme nasledujúcimi témami.

Čo je to virtuálna funkcia v prostredí Java?

Správanie virtuálnej funkcie môže byť prepísaný s funkciou dedenia triedy s rovnakým názvom. V zásade je definované v základnej triede a prepísané v zdedenej triede.





Očakáva sa, že virtuálna funkcia v Jave bude definovaná v . Virtuálnu funkciu môžeme nazvať odkazom na objekt odvodenej triedy pomocou odkazu alebo ukazovateľa základnej triedy.

java addactionlistener (toto)

Každá nestatická metóda v prostredí Java je predvolene virtuálna metóda. Java nemá virtuálne kľúčové slovo ako C ++ , ale môžeme ich definovať a použiť ich pre pojmy ako polymorfizmus za behu.



Príklad virtuálnej funkcie

Pozrime sa na príklad, aby sme pochopili, ako môžeme používať virtuálne funkcie v Jave.

trieda Vehicle {void make () {System.out.println ('heavy duty')}} public class Trucks extends Vehicle {void make () {System.out.println ('Transport vehicle for heavy duty')} public static void main (String args []) {Vehicle ob1 = new Trucks () ob1.make ()}}
 Výkon: Prepravné vozidlo pre ťažké nákladné vozidlá

Každá nestatická metóda v Jave je virtuálna funkcia okrem Konečný a súkromné ​​metódy . Metódy, ktoré nemožno použiť na polymorfizmus, sa nepovažujú za virtuálnu funkciu.

TO sa nepovažuje za virtuálnu funkciu, pretože statická metóda je viazaná na samotnú triedu. Nemôžeme teda volať statickú metódu z názvu objektu alebo triedy pre . Aj keď prekonáme statickú metódu, nerezonuje s konceptom polymorfizmu.



Virtuálna funkcia s rozhraniami

Všetky rozhrania Java sú virtuálne, pri implementácii metód sa spoliehajú na implementačné triedy. Kód vykonania sa vyberie za behu programu. Tu je jednoduchý príklad pre lepšie pochopenie.

rozhranie Car {void applyBrakes ()} rozhranie Audi implementuje Car {void applyBrakes () {System.out.println ('break Applied')}}

Tu je applyBreaks () virtuálne, pretože funkcie v rozhraniach sú navrhnuté tak, aby boli prepísané.

Čistá virtuálna funkcia

Čistá virtuálna funkcia je virtuálna funkcia, pre ktorú nemáme implementácie. Abstraktnú metódu v Jave možno považovať za čisto virtuálnu funkciu. Urobme si príklad, aby sme tomu lepšie porozumeli.

abstraktná trieda Dog {final void bark () {System.out.println ('woof')} abstract void jump () // toto je číra virtuálna funkcia} trieda MyDog rozširuje 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 ()}}
 Výkon: Skoky do vzduchu

Takto je možné použiť virtuálnu funkciu s abstraktnou triedou.

Polymorfizmus za behu

Polymorfizmus za behu je, keď sa namiesto prepísania hovoru na prepísanú metódu vyrieši za behu čas kompilácie . Prepísaná metóda sa volá cez referenčnú premennú základnej triedy.

kuchár vs zodpovedný vs bábka
trieda Edureka {public void show () {System.out.println ('welcome to edureka')}} trieda Kurz rozširuje Edureka {public void show () {System.out.println ('Java Certification Program')} public static void main (String args []) {Edureka ob1 = new Course () ob1.show ()}}
 Výkon: Kurz certifikácie Java

Body na zapamätanie

  • Pre virtuálnu funkciu v prostredí Java nepotrebujete výslovné vyhlásenie. Je akýkoľvek ktoré máme v základnej triede a predefinujeme v odvodenej triede s rovnakým názvom.

  • Ukazovateľ základnej triedy je možné použiť na označenie objektu odvodenej triedy.

  • Počas vykonávania programu sa ukazovateľ základnej triedy používa na volanie funkcií odvodenej triedy.

Týmto sa dostávame na koniec tohto článku, kde sme sa dozvedeli o funkcii Virtual Function In Java. Dúfam, že máte prehľad o všetkom, čo bolo s vami zdieľané v tomto tutoriále.

Ak považujete tento článok o „Virtuálnej funkcii v Jave“ za relevantný, pozrite si stránku dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Sme tu, aby sme vám pomohli na každom kroku na vašej ceste a prišli s učebným plánom, ktorý je určený pre študentov a profesionálov, ktorí sa chcú stať vývojármi Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v jazyku Java a naučil vás základné aj pokročilé koncepty Java spolu s rôznymi Páči sa mi to Hibernácia & .

čo je to virtuálna funkcia

Ak narazíte na akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov „Virtuálna funkcia v Jave“ a náš tím vám rád odpovie.