Skip to main content

O que é função virtual pura?

Quase todos os tipos de programação orientada a objetos (OOP), que criam programas e separam as seções de código em "objetos", têm uma função chamada função virtual pura, diferente de uma função virtual. Também conhecida como função abstrata, uma função virtual pura atua como um espaço reservado para outras variáveis ​​e obtém informações de outras funções e classes para preencher os espaços em branco. A vantagem de usar uma função virtual pura é que as informações são maleáveis ​​e podem ser alteradas de acordo com cada usuário. Para funcionar, deve haver uma classe derivada da qual os dados são adquiridos.

Uma função virtual é semelhante à variante pura. Ambos podem mudar dependendo da entrada do usuário. Por exemplo, se um usuário digitar seu nome, a função virtual será alterada para todo o programa para acomodar o nome desse usuário. A diferença é que uma função virtual não depende de outras classes, porque a função virtual possui seu próprio corpo que passa os dados para outras classes e funções que solicitam as informações, neste exemplo o nome do usuário.

Uma função virtual pura, por outro lado, não possui nenhum corpo. Isso significa que, por si só, a função abstrata é inútil. Ele não possui dados próprios e, se a classe abstrata for chamada sem nenhuma informação, poderá resultar em um erro. A função virtual pura deve ter uma classe derivada, ou uma classe que reúne dados para a função abstrata, para funcionar.

A classe derivada pode ser uma pergunta ou uma área em que um usuário insere algum tipo de entrada, como um campo de texto. As informações desta classe são então transferidas para todas as funções virtuais puras conectadas, coordenando as respostas. A menos que a função abstrata seja chamada especificamente, ela não será ativada, a menos que haja dados prontamente fornecidos.

Funções virtuais puras têm várias vantagens. O uso de uma função abstrata em vez de criar um corpo inteiro de codificação limita substancialmente a quantidade de código que o programador precisa criar, especialmente para programas grandes que usam as mesmas informações continuamente. A função abstrata também pode ser ajustada pelo programador para alterar a maneira como o programa manipula os dados para torná-los mais eficientes. As informações são baseadas em classes derivadas; portanto, programas com perguntas e entradas complexas adaptarão os dados de acordo com a entrada do usuário sem que o programa chame acidentalmente outra seção de código irrelevante.