Created by VICTOR JESUS PICEN ACOSTA
over 8 years ago
|
||
Question | Answer |
Polimorfismo 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. } |
Cuando 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 base | Los únicos métoso que no pueden ser declarados como virtuales son los constructores, los métodos estáticos, y los operadores new y delete. |
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 interfazque debe tener una clase y todas las clases queheredan de ella | 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. |
Want to create your own Flashcards for free with GoConqr? Learn more.