Skip to main content

¿Qué es la función virtual pura?

Casi todos los tipos de programación orientada a objetos (OOP), que crea programas y separa las secciones de código en "objetos", tienen una función llamada función virtual pura, que es diferente de una función virtual. También conocida como función abstracta, una función virtual pura actúa como marcador de posición para otras variables y toma información de otras funciones y clases para completar los espacios en blanco. La ventaja de usar una función virtual pura es que la información es maleable y se puede cambiar de acuerdo con cada usuario. Para funcionar, debe haber una clase derivada de la que se adquieren los datos.

Una función virtual es similar a la variante pura. Ambos pueden cambiar según la entrada del usuario. Por ejemplo, si un usuario escribe su nombre, la función virtual cambiará para todo el programa para acomodar el nombre de ese usuario. La diferencia es que una función virtual no depende de otras clases, porque la función virtual tiene su propio cuerpo que pasa los datos a otras clases y funciones que requieren la información, en este ejemplo, el nombre del usuario.

Una función virtual pura, por el contrario, no tiene cuerpo. Esto significa que, por sí misma, la función abstracta es inútil. No tiene datos propios y, si se llama a la clase abstracta sin ninguna información, podría provocar un error. La función virtual pura debe tener una clase derivada, o una clase que reúna datos para que funcione la función abstracta.

La clase derivada puede ser una pregunta o un área donde un usuario ingresa algún tipo de entrada, como un campo de texto. La información de esta clase se transfiere a todas las funciones virtuales puras conectadas, coordinando las respuestas. A menos que se llame específicamente a la función abstracta, no se activará a menos que haya datos suministrados fácilmente.

Las funciones virtuales puras tienen varias ventajas. El uso de una función abstracta en lugar de crear un cuerpo de codificación completo limita sustancialmente la cantidad de código que el programador necesita crear, especialmente para programas grandes que usan la misma información continuamente. El programador también puede ajustar la función abstracta para cambiar la forma en que el programa maneja los datos para hacerlo más eficiente. La información se basa en clases derivadas, por lo que los programas con preguntas y entradas complejas adaptarán los datos de acuerdo con la entrada del usuario sin que el programa llame accidentalmente a otra sección de código irrelevante.