Što je virtualna funkcija u Javi?



Ovaj članak pokriva koncept virtualne funkcije u javi s njezinim primjenama u polimorfizmu i primjere pozivanja funkcija u vrijeme izvođenja.

Java je koji podržava koncepte poput polimorfizma, nasljeđivanja, apstrakcije itd. Ovi se koncepti OOP-a vrte okolo razreda , predmeta , i funkcije člana. Virtualna funkcija jedan je od takvih koncepata koji pomaže u polimorfizmu tijekom izvođenja. Na ovom blogu naučit ćemo o virtualnoj funkciji u sustavu Windows . U ovom su članku razmatrane sljedeće teme.

Što je virtualna funkcija u Javi?

Ponašanje virtualne funkcije može biti nadjačana s funkcijom nasljeđivanja klase s istim imenom. U osnovi je definiran u osnovnoj klasi i poništen u naslijeđenoj klasi.





Očekuje se da će virtualna funkcija u Javi biti definirana u . Virtualnu funkciju možemo pozvati pozivanjem na objekt izvedene klase pomoću reference ili pokazivača osnovne klase.

Svaka nestatična metoda u Javi prema zadanim je postavkama virtualna metoda. Java nema virtualnu ključnu riječ poput C ++ , ali možemo ih definirati i koristiti za koncepte poput polimorfizma vremena izvođenja.



Primjer virtualne funkcije

Pogledajmo primjer kako bismo shvatili kako možemo koristiti virtualne funkcije u Javi.

class Vozilo {void make () {System.out.println ('heavy duty')}} public class Trucks produžuje Vehicle {void make () {System.out.println ('Transportno vozilo za teške terete')} public static void main (String args []) {Vozilo ob1 = novi kamioni () ob1.make ()}}
 Izlaz: Transportno vozilo za teške terete

Svaka nestatična metoda u Javi je virtualna funkcija, osim za konačni i privatne metode . Metode koje se ne mogu koristiti za polimorfizam ne smatraju se virtualnom funkcijom.

DO se ne smatra virtualnom funkcijom jer je statička metoda vezana uz samu klasu. Dakle, ne možemo pozvati statičku metodu iz imena ili klase objekta za . Čak i kada nadjačimo statičku metodu, ona nema rezonancije s konceptom polimorfizma.



Virtualna funkcija sa sučeljima

Sva Java sučelja su virtualna, oslanjaju se na izvedbene klase kako bi osigurale implementacije metoda. Kôd za izvršenje odabire se u vrijeme izvođenja. Evo jednostavnog primjera za bolje razumijevanje.

sučelje Car {void applyBrakes ()} sučelje Audi implementira Car {void applyBrakes () {System.out.println ('pauze primijenjene')}}

Ovdje je applyBreaks () virtualni jer su funkcije u sučeljima dizajnirane za nadjačavanje.

Čista virtualna funkcija

Čista virtualna funkcija virtualna je funkcija za koju nemamo implementacije. Apstraktna metoda u Javi može se smatrati čistom virtualnom funkcijom. Uzmimo primjer da to bolje razumijemo.

apstraktna klasa Pas {final void bark () {System.out.println ('woof')} abstract void jump () // ovo je čista virtualna funkcija} klasa MyDog proširuje Dog {void jump () {System.out.println ('Skokovi u zraku')}} trkač javne klase {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
 Izlaz: Skokovi u zraku

Tako se virtualna funkcija može koristiti s apstraktnom klasom.

Polimorfizam vremena izvođenja

Polimorfizam vremena izvođenja je kada se poziv nadjačane metode rješava u vrijeme izvođenja umjesto vrijeme kompajliranja . Nadjačana metoda poziva se kroz referentnu varijablu osnovne klase.

string split više graničnika java
class Edureka {public void show () {System.out.println ('welcome to edureka')}} class Predmet proširuje Edureka {public void show () {System.out.println ('Java Certification Program')} javna statička praznina glavna (argumenti u nizu []) {Edureka ob1 = novi tečaj () ob1.show ()}}
 Izlaz: Java tečaj certificiranja

Bodovi koje treba zapamtiti

  • Za virtualnu funkciju u Javi ne treba vam izričita deklaracija. Bilo koja je koji imamo u osnovnoj klasi i redefinirani u izvedenoj klasi s istim imenom.

  • Pokazivač osnovne klase može se koristiti za upućivanje na objekt izvedene klase.

  • Tijekom izvođenja programa, pokazivač osnovne klase koristi se za pozivanje izvedenih funkcija klase.

Ovo nas dovodi do kraja ovog članka gdje smo saznali o virtualnoj funkciji u Javi. Nadam se da vam je jasno sve što je s vama podijeljeno u ovom vodiču.

Ako vam je ovaj članak o “Virtualnoj funkciji na Javi” relevantan, pogledajte pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta.

Ovdje smo da vam pomognemo u svakom koraku na putovanju i osmislimo kurikulum namijenjen studentima i profesionalcima koji žele biti programer Java. Tečaj je osmišljen kako bi vam pružio prednost u programiranju Java-a i osposobio vas za osnovne i napredne Java koncepte, zajedno s raznim Kao Hibernate & .

Ako naiđete na neko pitanje, slobodno postavite sva svoja pitanja u odjeljku za komentare 'Virtualna funkcija u Javi' i naš će tim rado odgovoriti.