Qu'est-ce qu'une fonction virtuelle en Java?



Cet article couvre le concept de fonction virtuelle en java avec ses applications en polymorphisme et en invoquant des fonctions au moment de l'exécution avec des exemples.

Java est un qui prend en charge des concepts comme le polymorphisme, l'héritage, l'abstraction, etc. Ces concepts de POO tournent autour Des classes , objets et les fonctions des membres. La fonction virtuelle est l'un de ces concepts qui aide au polymorphisme d'exécution. Dans ce blog, nous découvrirons la fonction virtuelle dans . Les sujets suivants sont traités dans cet article.

Qu'est-ce qu'une fonction virtuelle en Java?

Le comportement d'une fonction virtuelle peut être remplacé avec la fonction de classe héritière du même nom. Il est essentiellement défini dans la classe de base et remplacé dans la classe héritée.





La fonction virtuelle en Java devrait être définie dans le . Nous pouvons appeler la fonction virtuelle en faisant référence à l'objet de la classe dérivée à l'aide de la référence ou du pointeur de la classe de base.

qu'est-ce qu'un saut de ligne en html

Chaque méthode non statique en Java est par défaut une méthode virtuelle. Java n'a pas de mot-clé virtuel comme C ++ , mais nous pouvons les définir et les utiliser pour des concepts comme le polymorphisme à l'exécution.



Exemple de fonction virtuelle

Examinons un exemple pour comprendre comment nous pouvons utiliser les fonctions virtuelles en Java.

class Vehicle {void make () {System.out.println ('heavy duty')}} public class Trucks extend Vehicle {void make () {System.out.println ('Transport vehicle for heavy duty')} public static void main (String args []) {Vehicle ob1 = new Trucks () ob1.make ()}}
 Production: Véhicule de transport pour charges lourdes

Chaque méthode non statique en Java est une fonction virtuelle à l'exception de final et méthodes privées . Les méthodes qui ne peuvent pas être utilisées pour le polymorphisme ne sont pas considérées comme une fonction virtuelle.

À n'est pas considérée comme une fonction virtuelle car une méthode statique est liée à la classe elle-même. Nous ne pouvons donc pas appeler la méthode statique à partir du nom de l'objet ou de la classe pour . Même lorsque nous remplaçons la méthode statique, cela ne résonne pas avec le concept de polymorphisme.



Fonction virtuelle avec interfaces

Toutes les interfaces Java sont virtuelles, elles s'appuient sur les classes d'implémentation pour fournir des implémentations de méthode. Le code pour l'exécution est sélectionné au moment de l'exécution. Voici un exemple simple pour une meilleure compréhension.

interface Car {void applyBrakes ()} interface Audi implements Car {void applyBrakes () {System.out.println ('breaks Applied')}}

Ici, applyBreaks () est virtuel car les fonctions des interfaces sont conçues pour être remplacées.

Fonction virtuelle pure

La fonction virtuelle pure est une fonction virtuelle pour laquelle nous n'avons pas d'implémentations. Une méthode abstraite en Java peut être considérée comme une fonction virtuelle pure. Prenons un exemple pour mieux comprendre cela.

classe abstraite Dog {final void bark () {System.out.println ('woof')} abstract void jump () // ceci est une fonction virtuelle pure} classe MyDog étend Dog {void jump () {System.out.println ('Saute en l'air')}} public class Runner {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
 Production: Saute en l'air

C'est ainsi que la fonction virtuelle peut être utilisée avec une classe abstraite.

Polymorphisme d'exécution

Le polymorphisme d'exécution se produit lorsqu'un appel à une méthode remplacée est résolu au moment de l'exécution au lieu de au moment de la compilation . La méthode remplacée est appelée via la variable de référence de la classe de base.

que fait .trim en java
class Edureka {public void show () {System.out.println ('welcome to edureka')}} class Cours étend Edureka {public void show () {System.out.println ('Java Certification Program')} public static void main (String args []) {Edureka ob1 = new Course () ob1.show ()}}
 Production: Cours de certification Java

Points à retenir

  • Pour une fonction virtuelle en Java, vous n'avez pas besoin d'une déclaration explicite. C'est tout que nous avons dans une classe de base et redéfini dans la classe dérivée du même nom.

  • Le pointeur de classe de base peut être utilisé pour faire référence à l'objet de la classe dérivée.

  • Lors de l'exécution du programme, le pointeur de classe de base est utilisé pour appeler les fonctions de classe dérivées.

Cela nous amène à la fin de cet article où nous avons découvert la fonction virtuelle en Java. J'espère que vous êtes clair avec tout ce qui a été partagé avec vous dans ce tutoriel.

Si vous avez trouvé cet article sur «Fonction virtuelle en Java» pertinent, consultez le une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier.

Nous sommes là pour vous aider à chaque étape de votre voyage et proposer un programme conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi que divers comme Hiberner & .

attendre et notifier en java

Si vous rencontrez des questions, n'hésitez pas à poser toutes vos questions dans la section commentaires de «Fonction virtuelle en Java» et notre équipe se fera un plaisir de vous répondre.