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», и наша команда будет рада ответить.