Mis on Java virtuaalne funktsioon?

See artikkel käsitleb virtuaalse funktsiooni mõistet Java-s koos rakendustega polümorfismis ja funktsioonide käivitamist käitamise ajal koos näidetega.

Java on mis toetab selliseid mõisteid nagu polümorfism, pärimine, abstraktsioon jne. Need OOP-ide mõisted pöörlevad ümber klassides , objektid ja liikmete funktsioonid. Virtuaalne funktsioon on üks sellistest kontseptsioonidest, mis aitab tööaja polümorfismi. Selles ajaveebis saame teada virtuaalsete funktsioonide kohta . Selles artiklis käsitletakse järgmisi teemasid.



Mis on Java virtuaalne funktsioon?

Virtuaalse funktsiooni käitumine võib olla tühistatud pärineva sama funktsiooniga klassifunktsiooniga. Põhimõtteliselt on see määratletud baasklassis ja päritud klassis tühistatud.



Eeldatakse, et Java virtuaalne funktsioon määratletakse . Virtuaalfunktsiooni saame kutsuda tuletatud klassi objektile viidates, kasutades baasklassi viidet või osutit.

Iga Java mittestaatiline meetod on vaikimisi virtuaalne meetod. Java-l pole sellist virtuaalset märksõna C ++ , kuid saame neid määratleda ja kasutada selliste mõistete jaoks nagu jooksuaegne polümorfism.



Näide virtuaalsetest funktsioonidest

Vaatame näite, et mõista, kuidas saame Java-s virtuaalseid funktsioone kasutada.

parim tarkvara java programmeerimiseks
klassi sõiduk {void make () {System.out.println ('heavy duty')}} avaliku klassi veoautod laiendavad sõidukit {void make () {System.out.println ('Transpordivahend raskeveokiks')} public static void main (String args []) {Sõiduk ob1 = uued veoautod () ob1.make ()}}
 Väljund: Transpordivahend raskeveokite jaoks

Iga Java mittestaatiline meetod on virtuaalne funktsioon, välja arvatud lõplik ja erameetodid . Meetodeid, mida polümorfismi korral ei saa kasutada, ei peeta virtuaalseks funktsiooniks.

TO ei peeta virtuaalseks funktsiooniks, kuna staatiline meetod on seotud klassi endaga. Seega ei saa me staatilist meetodit kutsuda objekti nimest või klassist . Isegi kui me staatilise meetodi alistame, ei kõla see polümorfismi mõistega.



Virtuaalne funktsioon liidestega

Kõik Java-liidesed on virtuaalsed, meetodite juurutamise pakkumiseks tuginevad nad rakendusklassidele. Käivitamise kood valitakse käitamise ajal. Siin on lihtne näide paremaks mõistmiseks.

liides Auto {void ApplyBrakes ()} liides Audi rakendab Car {void ApplyBrakes () {System.out.println ('rakendatud pausid')}}

Siin on ApplyBreaks () virtuaalne, kuna liideste funktsioonid on mõeldud alistamiseks.

Puht virtuaalne funktsioon

Puht virtuaalne funktsioon on virtuaalne funktsioon, mille jaoks meil pole rakendusi. Javas abstraktset meetodit võib pidada puhtaks virtuaalseks funktsiooniks. Võtame näite, et sellest paremini aru saada.

abstraktne klass Koer {final void bark () {System.out.println ('woof')} abstract void jump () // see on puhas virtuaalne funktsioon} klass MyDog laiendab koera {void jump () {System.out.println ('Hüppab õhus')}} avaliku klassi jooksja {public static void main (String args []) {Koer ob1 = uus MyDog () ob1.jump ()}}
 Väljund: Hüppab õhus

Nii saab virtuaalset funktsiooni kasutada abstraktse klassiga.

kuidas Java programmist sulgeda

Jooksuaegne polümorfism

Käitusaja polümorfism on see, kui üleskutse alistatavale meetodile lahendatakse run-time asemel kompileerimisaeg . Alistatavat meetodit kutsutakse läbi baasklassi võrdlusmuutuja.

klass Edureka {public void show () {System.out.println ('welcome to edureka')}} klass Kursus pikendab Edureka {public void show () {System.out.println ('Java sertifitseerimisprogramm')} public static void main (String args []) {Edureka ob1 = uus kursus () ob1.show ()}}
 Väljund: Java sertifitseerimiskursus

Juhib tähelepanu

  • Java virtuaalse funktsiooni jaoks pole teil vaja selget deklaratsiooni. See on ükskõik milline mis meil on baasklassis ja tuletatud klassis sama nimega ümber määratletud.

  • Baasklassi kursorit saab kasutada tuletatud klassi objektile viitamiseks.

  • Programmi käivitamise ajal kasutatakse tuletatud klassi funktsioonide kutsumiseks baasklassi kursorit.

See viib meid selle artikli lõppu, kus oleme õppinud Java virtuaalse funktsiooni kohta. Loodan, et teil on selge kõigega, mida teiega selles õpetuses jagati.

Kui leiate, et see artikkel on jaotises „Java virtuaalne funktsioon” asjakohane, vaadake järgmist usaldusväärne veebiõppeettevõte, mille võrgustik sisaldab üle 250 000 rahuloleva õppija, levis üle kogu maailma.

Oleme siin, et aidata teid igal sammul oma teekonnal ja koostada õppekava, mis on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad. Kursus on loodud selleks, et anda Java-programmeerimisele edukas algus ja õpetada teid nii põhi- kui ka edasijõudnute Java-kontseptsioonide jaoks koos erinevate võimalustega meeldib Talveunerežiim & .

Kui teil tekib küsimusi, esitage julgelt kõik oma küsimused jaotises „Virtuaalne funktsioon Java-s” kommentaaride osas ja meie meeskond vastab sellele hea meelega.