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



В этой статье рассматривается концепция виртуальной функции в java с ее приложениями в полиморфизме и вызове функций во время выполнения с примерами.

Java - это который поддерживает такие концепции, как полиморфизм, наследование, абстракция и т. д. Эти концепции ООП вращаются вокруг классы , объекты , и функции-члены. Виртуальная функция - одна из таких концепций, которая помогает в полиморфизме во время выполнения. В этом блоге мы узнаем о виртуальной функции в . В этой статье обсуждаются следующие темы.

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

Поведение виртуальной функции может быть отвергнутый с одноименной функцией наследующего класса. Он в основном определяется в базовом классе и переопределяется в унаследованном классе.





Ожидается, что виртуальная функция в Java будет определена в . Мы можем вызвать виртуальную функцию, обратившись к объекту производного класса, используя ссылку или указатель базового класса.

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



Пример виртуальной функции

Давайте рассмотрим пример, чтобы понять, как мы можем использовать виртуальные функции в Java.

class Vehicle {void make () {System.out.println ('Heavy Duty')}} public class Trucks extends Vehicle {void make () {System.out.println ('Транспортное средство для тяжелых условий работы')} public static void main (String args []) {Автомобиль ob1 = new Trucks () ob1.make ()}}
 Вывод: Транспортная машина для тяжелых условий эксплуатации

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

К не считается виртуальной функцией, потому что статический метод привязан к самому классу. Поэтому мы не можем вызвать статический метод из имени объекта или класса для . Даже когда мы переопределяем статический метод, он не перекликается с концепцией полиморфизма.



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

Все интерфейсы Java являются виртуальными, они полагаются на реализующие классы для обеспечения реализации методов. Код для выполнения выбирается во время выполнения. Вот простой пример для лучшего понимания.

какие функции в sql
interface Car {void applyBrakes ()} интерфейс Audi реализует Car {void applyBrakes () {System.out.println ('breaks Applied')}}

Здесь applyBreaks () является виртуальным, потому что функции в интерфейсах предназначены для переопределения.

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

Чистая виртуальная функция - это виртуальная функция, для которой у нас нет реализаций. Абстрактный метод в Java можно рассматривать как чистую виртуальную функцию. Давайте рассмотрим пример, чтобы лучше понять это.

абстрактный класс Dog {final void bark () {System.out.println ('woof')} abstract void jump () // это чистая виртуальная функция} class MyDog расширяет Dog {void jump () {System.out.println ('Прыгает в воздух')}} открытый класс 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 Course расширяет Edureka {public void show () {System.out.println ('Java Certification Program')} public static void main (String args []) {Edureka ob1 = new Course () ob1.show ()}}
 Вывод: Курс сертификации Java

Что следует помнить

  • Для виртуальной функции в Java явное объявление не требуется. Это любой что у нас есть в базовом классе и переопределено в производном классе с тем же именем.

  • Указатель базового класса может использоваться для ссылки на объект производного класса.

    как использовать полномочия в Java
  • Во время выполнения программы указатель базового класса используется для вызова функций производного класса.

На этом мы подошли к концу статьи, где мы узнали о виртуальной функции в Java. Я надеюсь, что вы понимаете все, о чем вам рассказали в этом руководстве.

Если вы нашли эту статью «Виртуальные функции в Java» релевантной, ознакомьтесь с надежная компания онлайн-обучения с сетью из более чем 250 000 довольных учащихся по всему миру.

Мы здесь, чтобы помочь вам на каждом этапе вашего пути и составить учебную программу, предназначенную для студентов и профессионалов, которые хотят стать Java-разработчиком. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным любить Спящий режим & .

Если у вас возникнут какие-либо вопросы, не стесняйтесь задавать все свои вопросы в разделе комментариев «Виртуальные функции в Java», и наша команда будет рада ответить.