Che cos'è una funzione virtuale in Java?



Questo articolo copre il concetto di funzione virtuale in java con le sue applicazioni nel polimorfismo e l'invocazione di funzioni in fase di esecuzione con esempi.

Java è un file che supporta concetti come polimorfismo, ereditarietà, astrazione, ecc. Questi concetti di OOP ruotano attorno classi , oggetti e funzioni dei membri. La funzione virtuale è uno di questi concetti che aiuta nel polimorfismo di runtime. In questo blog, impareremo a conoscere la funzione virtuale in . I seguenti argomenti vengono discussi in questo articolo.

Cos'è una funzione virtuale in Java?

Il comportamento di una funzione virtuale può essere sovrascritto con la funzione di classe che eredita con lo stesso nome. Fondamentalmente è definito nella classe base e sovrascritto nella classe ereditata.





La funzione virtuale in Java dovrebbe essere definita nel file . Possiamo chiamare la funzione virtuale facendo riferimento all'oggetto della classe derivata utilizzando il riferimento o il puntatore della classe base.

Ogni metodo non statico in Java è per impostazione predefinita un metodo virtuale. Java non ha una parola chiave virtuale come C ++ , ma possiamo definirli e usarli per concetti come il polimorfismo a runtime.



Esempio di funzione virtuale

Diamo un'occhiata a un esempio per capire come possiamo utilizzare le funzioni virtuali in Java.

class Vehicle {void make () {System.out.println ('heavy duty')}} public class Trucks extends Vehicle {void make () {System.out.println ('Transport vehicle for heavy duty')} public static void main (String args []) {Vehicle ob1 = new Trucks () ob1.make ()}}
 Produzione: Veicolo da trasporto per carichi pesanti

Ogni metodo non statico in Java è una funzione virtuale ad eccezione di finale e metodi privati . I metodi che non possono essere utilizzati per il polimorfismo non sono considerati una funzione virtuale.

Introduzione alla programmazione sas concetti di base

PER non è considerata una funzione virtuale perché un metodo statico è associato alla classe stessa. Quindi non possiamo chiamare il metodo statico dal nome dell'oggetto o dalla classe per . Anche quando ignoriamo il metodo statico, non risuona con il concetto di polimorfismo.



Funzione virtuale con interfacce

Tutte le interfacce Java sono virtuali, si basano sulle classi di implementazione per fornire le implementazioni del metodo. Il codice per l'esecuzione viene selezionato in fase di esecuzione. Ecco un semplice esempio per una migliore comprensione.

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

In questo caso applyBreaks () è virtuale perché le funzioni nelle interfacce sono progettate per essere sovrascritte.

come fare i poteri in java

Pura funzione virtuale

La funzione virtuale pura è una funzione virtuale per la quale non abbiamo implementazioni. Un metodo astratto in Java può essere considerato come una pura funzione virtuale. Facciamo un esempio per capirlo meglio.

abstract class Dog {final void bark () {System.out.println ('woof')} abstract void jump () // questa è una pura funzione virtuale} class MyDog extends Dog {void jump () {System.out.println ('Salti in aria')}} public class Runner {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
 Produzione: Salti in aria

Questo è il modo in cui la funzione virtuale può essere utilizzata con la classe astratta.

Polimorfismo di runtime

Il polimorfismo di runtime si verifica quando una chiamata a un metodo sottoposto a override viene risolta in fase di esecuzione anziché in fase di compilazione . Il metodo sottoposto a override viene chiamato tramite la variabile di riferimento della classe base.

class Edureka {public void show () {System.out.println ('welcome to edureka')}} class Course estende Edureka {public void show () {System.out.println ('Java Certification Program')} public static void main (String args []) {Edureka ob1 = new Course () ob1.show ()}}
 Produzione: Corso di certificazione Java

Punti da ricordare

  • Per una funzione virtuale in Java, non è necessaria una dichiarazione esplicita. È qualsiasi che abbiamo in una classe base e ridefinito nella classe derivata con lo stesso nome.

  • Il puntatore alla classe base può essere utilizzato per fare riferimento all'oggetto della classe derivata.

  • Durante l'esecuzione del programma, il puntatore alla classe base viene utilizzato per chiamare le funzioni della classe derivata.

    qual è la differenza tra jquery e javascript

Questo ci porta alla fine di questo articolo in cui abbiamo appreso della funzione virtuale in Java. Spero che tu sia chiaro con tutto ciò che è stato condiviso con te in questo tutorial.

Se hai trovato pertinente questo articolo su 'Funzione virtuale in Java', controlla il una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo.

Siamo qui per aiutarti in ogni fase del tuo viaggio e creare un curriculum progettato per studenti e professionisti che vogliono essere uno sviluppatore Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari piace Ibernazione & .

Se incontri delle domande, sentiti libero di porre tutte le tue domande nella sezione commenti di 'Funzione virtuale in Java' e il nostro team sarà lieto di rispondere.