Какво представлява виртуалната функция в Java?



Тази статия обхваща концепцията за виртуална функция в java с нейните приложения в полиморфизма и извикване на функции по време на изпълнение с примери.

Java е което поддържа понятия като полиморфизъм, наследяване, абстракция и т.н. Тези концепции за ООП се въртят наоколо класове , обекти , и функции на членове. Виртуалната функция е една такава концепция, която помага в полиморфизма по време на изпълнение. В този блог ще научим за виртуалната функция в . Следните теми са обсъдени в тази статия.

Какво е виртуална функция в Java?

Поведението на виртуална функция може да бъде заменен с функцията за наследяване на клас със същото име. Основно се дефинира в базовия клас и се заменя в наследения клас.





Виртуалната функция в Java се очаква да бъде дефинирана в . Можем да извикаме виртуалната функция, като се позовем на обекта на извлечения клас, използвайки препратката или указателя на базовия клас.

Всеки нестатичен метод в Java по подразбиране е виртуален метод. Java няма виртуална ключова дума като C ++ , но можем да ги дефинираме и да ги използваме за понятия като полиморфизъм по време на изпълнение.



Пример за виртуална функция

Нека да разгледаме един пример, за да разберем как можем да използваме виртуални функции в Java.

class Vehicle {void make () {System.out.println ('heavy duty')}} public class Trucks удължава Vehicle {void make () {System.out.println ('Transport vehicle for heavy duty')} public static void main (String args []) {Превозно средство ob1 = нови камиони () ob1.make ()}}
 Изход: Транспортно превозно средство за тежък режим на работа

Всеки нестатичен метод в Java е виртуална функция с изключение на финал и частни методи . Методите, които не могат да се използват за полиморфизма, не се разглеждат като виртуална функция.

как да се хвърли двойно към

ДА СЕ не се счита за виртуална функция, защото статичен метод е обвързан със самия клас. Така че не можем да извикаме статичния метод от името на обекта или класа за . Дори когато заменим статичния метод, той не резонира с концепцията за полиморфизъм.



Виртуална функция с интерфейси

Всички интерфейси на Java са виртуални, те разчитат на изпълняващите класове, за да предоставят внедрявания на методи. Кодът за изпълнение се избира по време на изпълнение. Ето един прост пример за по-добро разбиране.

интерфейс Car {void applyBrakes ()} интерфейс Audi реализира Car {void applyBrakes () {System.out.println ('прекъсвания приложени')}}

Тук applyBreaks () е виртуален, тъй като функциите в интерфейсите са проектирани да бъдат заменени.

как да конвертирате низ в дата в

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

Чистата виртуална функция е виртуална функция, за която нямаме внедрения. Абстрактният метод в Java може да се разглежда като чиста виртуална функция. Нека вземем пример, за да разберем това по-добре.

абстрактен клас Dog {final void bark () {System.out.println ('woof')} abstract void jump () // това е чисто виртуална функция} class MyDog разширява Dog {void jump () {System.out.println ('Jumps in the air')}} публичен клас Runner {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
 Изход: Скача във въздуха

Ето как виртуалната функция може да се използва с абстрактния клас.

Полиморфизъм по време на изпълнение

Полиморфизмът по време на изпълнение е, когато извикване на заменен метод се разрешава по време на изпълнение вместо време на компилация . Замененият метод се извиква чрез референтната променлива на базовия клас.

class Edureka {public void show () {System.out.println ('welcome to edureka')}} class Курсът разширява Edureka {public void show () {System.out.println ('Java Certification Program')} public static void main (String args []) {Edureka ob1 = нов курс () ob1.show ()}}
 Изход: Курс за сертифициране на Java

Точки за запомняне

  • За виртуална функция в Java не ви е необходима изрична декларация. Това е всяко че имаме в основен клас и предефинирани в производния клас със същото име.

  • Показалецът на базовия клас може да се използва за препращане към обекта на производния клас.

  • По време на изпълнението на програмата указателят на базовия клас се използва за извикване на производни функции на класа.

    какво представлява смесването на данни в таблицата

Това ни води до края на тази статия, където научихме за виртуалната функция в Java. Надявам се да сте наясно с всичко споделено с вас в този урок.

Ако сте намерили тази статия за „Виртуална функция в Java“ подходяща, разгледайте доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят.

Ние сме тук, за да ви помогнем при всяка стъпка по вашето пътуване и да изготвим учебна програма, предназначена за студенти и професионалисти, които искат да бъдат разработчик на Java. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни като Хибернация & .

Ако срещнете някакви въпроси, не се колебайте да зададете всичките си въпроси в раздела за коментари на „Виртуална функция в Java“ и нашият екип ще се радва да отговори.