O que é uma função virtual em Java?



Este artigo cobre o conceito de função virtual em java com suas aplicações em polimorfismo e invocação de funções em tempo de execução com exemplos.

Java é um que suporta conceitos como polimorfismo, herança, abstração, etc. Esses conceitos OOPs giram em torno Aulas , objetos , e funções de membro. A função virtual é um desses conceitos que ajuda no polimorfismo de tempo de execução. Neste blog, aprenderemos sobre a função virtual em . Os tópicos a seguir são discutidos neste artigo.

O que é uma função virtual em Java?

O comportamento de uma função virtual pode ser substituído com a função de classe herdada com o mesmo nome. Ele é basicamente definido na classe base e substituído na classe herdada.





A função virtual em Java deve ser definida no . Podemos chamar a função virtual referindo-nos ao objeto da classe derivada usando a referência ou o ponteiro da classe base.

Cada método não estático em Java é, por padrão, um método virtual. Java não tem uma palavra-chave virtual como C ++ , mas podemos defini-los e usá-los para conceitos como polimorfismo de tempo de execução.



Exemplo de função virtual

Vamos dar uma olhada em um exemplo para entender como podemos usar funções virtuais em Java.

class Vehicle {void make () {System.out.println ('heavy duty')}} public class Trucks estende Vehicle {void make () {System.out.println ('Transport Vehicle for heavy duty')} public static void main (String args []) {Vehicle ob1 = new Trucks () ob1.make ()}}
 Resultado: Veículo de transporte para serviço pesado

Cada método não estático em Java é uma função virtual, exceto para final e métodos privados . Os métodos que não podem ser usados ​​para o polimorfismo não são considerados como uma função virtual.

windows adiciona java ao caminho

PARA não é considerada uma função virtual porque um método estático está vinculado à própria classe. Portanto, não podemos chamar o método estático do nome do objeto ou classe para . Mesmo quando substituímos o método estático, ele não ressoa com o conceito de polimorfismo.



Função Virtual com Interfaces

Todas as interfaces Java são virtuais, elas contam com as classes de implementação para fornecer implementações de método. O código para execução é selecionado em tempo de execução. Aqui está um exemplo simples para melhor compreensão.

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

Aqui, applyBreaks () é virtual porque as funções nas interfaces são projetadas para serem substituídas.

Fibonacci recursão c ++

Função Pura Virtual

Função virtual pura é uma função virtual para a qual não temos implementações. Um método abstrato em Java pode ser considerado uma função virtual pura. Vamos dar um exemplo para entender isso melhor.

classe abstrata Cachorro {final void bark () {System.out.println ('woof')} abstrato void jump () // esta é uma função virtual pura} classe MyDog extends Cachorro {void jump () {System.out.println ('Pula no ar')}} public class Runner {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
 Resultado: Pula no ar

É assim que a função virtual pode ser usada com a classe abstrata.

Polimorfismo de tempo de execução

Polimorfismo em tempo de execução é quando uma chamada para um método substituído é resolvida em tempo de execução em vez de tempo de compilação . O método substituído é chamado por meio da variável de referência da classe base.

class Edureka {public void show () {System.out.println ('bem-vindo a edureka')}} class Curso estende Edureka {public void show () {System.out.println ('Programa de Certificação Java')} public static void main (String args []) {Edureka ob1 = new Course () ob1.show ()}}
 Resultado: Curso de Certificação Java

Pontos para lembrar

  • Para uma função virtual em Java, você não precisa de uma declaração explícita. É qualquer que temos em uma classe base e redefinimos na classe derivada com o mesmo nome.

  • O ponteiro da classe base pode ser usado para se referir ao objeto da classe derivada.

  • Durante a execução do programa, o ponteiro da classe base é usado para chamar as funções da classe derivada.

    como usar spyder python

Isso nos leva ao final deste artigo, onde aprendemos sobre a função virtual em Java. Espero que você tenha esclarecido tudo o que foi compartilhado com você neste tutorial.

Se você achou este artigo sobre “Função Virtual em Java” relevante, verifique o uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo.

Estamos aqui para ajudá-lo em cada etapa da sua jornada e criar um currículo que é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso é projetado para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com vários gostar Hibernar E .

Se tiver alguma dúvida, fique à vontade para fazer todas as suas perguntas na seção de comentários de “Função Virtual em Java” e nossa equipe terá prazer em responder.