Flashcards
Polimorfismo
Cards in this deck (1)
- 1Polimorfismo. Métodos virtuales El polimorfismo indica que una variable pasada o esperada puede adoptar múltiples formas. Cuando se habla de polimorfismo en programación orientada a objetos se suelen entender dos cosas: 1. La primera se refiere a que se puede trabajar con un objeto de una clase sin importar de qué clase se trata. Es decir, se trabajará igual sea cual sea la clase a la que pertenece el objeto. Esto se consigue mediante jerarquías de clases y clases abstractas. 2. La segunda suele referirse a la posibilidad de declarar métodos con el mismo nombre que pueden tener diferentes argumentos dentro de una misma clase.Clase virtual pura
Hay veces en las que no va a ser necesario crear
objetos de la clase base, o simplemente no se desea
que quien utilice la clase pueda crear objetos de la
clase base. Para ello existen lo que suele llamarse en
POO clases abstractas. Esta clase define el interfaz
que debe tener una clase y todas las clases que
heredan de ella. En C++ el concepto de clases
abstractas se implementa mediante funciones
virtuales puras. Estas funciones se declaran igual
que cualquier otra función anteponiendo la palabra
virtual y añadiendo al final de la declaración =0. Para
estas funciones no se proporciona implementación. En
C++ la clase abstracta debe tener uno o más métodos
virtuales puros.
n Dada una clase abstracta, no se pueden crear objetos
de esa clase base. Se pueden crear punteros que a
objetos de la clase base abstracta que realmente
apunten a objetos de la clase derivada.