Шта је виртуелна функција у Јави?



Овај чланак покрива концепт виртуелне функције у јави са њеним апликацијама у полиморфизму и позивањем функција током извођења са примерима.

Јава је који подржава концепте попут полиморфизма, наследства, апстракције итд. Ови ООП концепти се врте около класе , предмета , и функције члана. Виртуелна функција је један такав концепт који помаже у полиморфизму током извођења. На овом блогу ћемо научити о виртуелним функцијама у . Следеће теме се разматрају у овом чланку.

Шта је виртуелна функција у Јави?

Понашање виртуелне функције може бити надјачана са функцијом наслеђивања класе са истим именом. У основи је дефинисан у основној класи и поништен у наслеђеној класи.





Очекује се да ће виртуелна функција у Јави бити дефинисана у . Виртуалну функцију можемо позвати позивањем на објекат изведене класе помоћу референце или показивача основне класе.

како тестирати базу података

Свака нестатична метода у Јави је подразумевано виртуелна метода. Јава нема виртуелну кључну реч попут Ц ++ , али можемо их дефинисати и користити за концепте попут полиморфизма током извођења.



Пример виртуелне функције

Погледајмо пример како бисмо разумели како можемо да користимо виртуелне функције у Јави.

цласс Возило {воид маке () {Систем.оут.принтлн ('хеави дути')}} публиц цласс Труцкс продужава Вехицле {воид маке () {Систем.оут.принтлн ('Транспортно возило за тешке терете')} публиц статиц воид маин (Стринг аргс []) {Возило об1 = нови камиони () об1.маке ()}}
 Излаз: Транспортно возило за тешка оптерећења

Свака нестатична метода у Јави је виртуелна функција, осим за коначни и приватне методе . Методе које се не могу користити за полиморфизам не сматрају се виртуелном функцијом.

ДО се не сматра виртуелном функцијом јер је статичка метода везана за саму класу. Дакле, не можемо позвати статичку методу из имена објекта или класе за . Чак и када заменимо статички метод, он не резонује са концептом полиморфизма.



Виртуелна функција са интерфејсима

Сви Јава интерфејси су виртуелни, ослањају се на класе имплементације да би обезбедили имплементације метода. Код за извршавање се бира током извођења. Ево једноставног примера за боље разумевање.

интерфејс Цар {воид апплиБракес ()} интерфејс Ауди имплементира Цар {воид апплиБракес () {Систем.оут.принтлн ('паузе примењене')}}

Овде је апплиБреакс () виртуелни јер су функције у интерфејсима дизајниране да буду надјачане.

Чиста виртуелна функција

Чиста виртуелна функција је виртуелна функција за коју немамо примене. Апстрактна метода у Јави може се сматрати чистом виртуелном функцијом. Узмимо пример да бисмо ово боље разумели.

апстрактна класа Пас {финал воид барк () {Систем.оут.принтлн ('вооф')} абстрацт воид јумп () // ово је чиста виртуелна функција} класа МиДог проширује Дог {воид јумп () {Систем.оут.принтлн ('Скокови у ваздуху')}} тркач јавне класе {публиц статиц воид маин (Стринг аргс []) {Дог об1 = нев МиДог () об1.јумп ()}}
 Излаз: Скокови у ваздуху

Тако се виртуелна функција може користити са апстрактном класом.

Полиморфизам током извођења

Полиморфизам времена извођења је када се позив надјачане методе разрешава у време извођења, уместо време компајлирања . Надјачана метода позива се кроз референтну променљиву основне класе.

јава гет дате фром стринг
цласс Едурека {публиц воид схов () {Систем.оут.принтлн ('велцоме то едурека')}} цласс Предмет проширује Едурека {публиц воид схов () {Систем.оут.принтлн ('Јава Цертифицатион Програм')} публиц статиц воид маин (Стринг аргс []) {Едурека об1 = нови курс () об1.схов ()}}
 Излаз: Курс за Јава сертификацију

Тачке које треба запамтити

  • За виртуелну функцију у Јави не треба вам експлицитна декларација. Било који је који имамо у основној класи и редефинисани у изведеној класи са истим именом.

  • Показивач основне класе може се користити за упућивање на објекат изведене класе.

  • Током извршавања програма, показивач основне класе користи се за позивање изведених функција класе.

Ово нас доводи до краја овог чланка где смо сазнали о виртуелној функцији у Јави. Надам се да вам је јасно све што је са вама подељено у овом упутству.

Ако вам је овај чланак о „Виртуелној функцији на Јави“ релевантан, погледајте поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света.

Овде смо да вам помогнемо у сваком кораку на путовању и осмислимо наставни план и програм који је дизајниран за студенте и професионалце који желе да буду програмери Јаве. Курс је дизајниран да вам пружи предност у Јава програмирању и да вас обучи за основне и напредне Јава концепте, заједно са разним као Хибернате & .

како направити гомилу у јави

Ако наиђете на неко питање, слободно поставите сва своја питања у одељку за коментаре „Виртуална функција у Јави“ и наш тим ће вам радо одговорити.