Flashcards
Actividad en Clase
Cards in this deck (3)
- 1Polimorfismo Hasta ahora la herencia se ha utilizado solamente para heredar los miembros de una clase base, pero también existe la posibilidad de que un método de una clase derivada se llame como método de la clase base pero tenga un funcionamiento diferente.Si tenemos, por ejemplo:
void main(){
disco_musica d1(32,“EMI”,423,“CD”);
disco * ptr = & d1;
d1.imprimir_fabricante();
//Invoca al de la clase derivada.
ptr -> imprimir_fabricante();
//Invoca al de la clase base.
} - 2Cuando se invoca un método de un objeto de la clasederivada mediante un puntero a un objeto de la clasebase, se trata al objeto como si fuera de la clase baseLos únicos métoso que no pueden ser declarados
como virtuales son los constructores, los métodos
estáticos, y los operadores new y delete. - 3Clase 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 interfazque debe tener una clase y todas las clases queheredan de ellaDada 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.