Programación General > C/C++
polimorfismo y encapsulamiento
(1/1)
eze_ps:
que son?? para que sirven, tienen un ejemplo donde se remarque su uso??
m0skit0:
Polimorfismo: un mecanismo de herencia en POO, tal que
--- Código: C++ ---class Coche {};class Renault: class Coche {};class Peugeot: class Coche {}; Coche* polimorfo = new Renault();delete polimorfo;Coche* polimorfo = new Peugeot();delete polimorfo; Creo que un caso de uso queda claro con este ejemplo. Te recomiendo que te mires también los métodos virtuales en este contexto.
Encapsulamiento: aislar los atributos de las demás clases. Generalizando, limitar el acceso a los datos a los métodos de la misma clase, haciendo que cada clase siempre ofrezca acceso a sus datos a través de métodos y no directamente. Por ejemplo:
--- Código: C++ ---class Coche{private: int velocidad;public: int obtenerVelocidad();}; int Coche::obtenerVelocidad(void){ return velocidad;} Coche cochazo;// El encapsulamiento nos prohibe hacer estocout << cochazo.velocidad;// pero si nos deja hacer estocout << cochazo.obtenerVelocidad(); Esto es para asegurar de que el acceso a los datos se hace siempre con control de la clase, así nunca terminará con datos en estados corruptos o desconocidos para la clase misma. Esto implica que los atributos deben ser como mínimo protected salvo casos muy especiales.
Para más detalles y formalidades:
Polimorfismo
Encapsulamiento
Saludos
Navegación
Ir a la versión completa