Encapsulamiento herencia y polimorfismo
Dra. Elisa Schaeffer
elisa@yalma.fime.uanl.mx
14 de febrero de 2007
M ECAS 512 Estructura de Datos en C++
T ERMINOLOG´A I
un objeto= estado + comportamiento + identidad un objeto = una instancia de una clase ´ una clase = definiciones de atributos y metodos (con ´ parametros)
´ E NCAPSULAMIENTO EN PROGRAMACI ON
´ ´ Laocultacion de la informacion ´ No es necesario conocer los detalles de la implementacion y/o ˜ ´ diseno para poder utilizar algun codigo. ´ ´ Al ocultar informacion “no necesaria” se protege las otraspartes del programa de cambios en el dado caso que cambia la parte escondida.
E NCAPSULAMIENTO EN CONTROL DE VISIBILIDAD
acceso privado, acceso limitado o acceso publico ´ ´ ´ los objetos estanmodulos “aislados”, protegidos contra su ´ modificacion “no autoridaza” ´ t´picamente los propios metodos internos del objeto son los ı unicos con acceso directo al estado del objecto ´
´ A BSTRACCI ON´ ´ = la separacion de propiedades de la implementacion Los objetos son agentes abstractos con ciertas aptitudes que comuniquen entre ellos. No hay porque conocer todos los detalles. ´ No importa lamanera de almacenaje de los datos ni la eleccion de ´ los algoritmos dentro de los metodos.
P OLIMORFISMO
´ = uso de la misma definicion con diferentes tipos de datos sobrecarga de operadores (ingl.operator overloading) implementado en el compilador/interpretor ´ polimorfismo parametrico: se puede escribir funciones de tal ´ manera que no se pone restricciones en el tipo de parametrospolimorfismo de subtipos: la posibilidad de extender/especializar tipos de datos
E JEMPLO DE POLIMORFISMO
´ Operacion 3+7 0.1 + 11.001 2 + 0.0008 “ho” + “la” Resultado 12 11.101 2.0008 ”hola”
´ Si laasignacion del tipo del objeto referenciado ocurre durante la ´ ´ ´ ejecucion del programa, se habla de asignacion tard´a/dinamica. ı ´ ´ Otra opcion es resolverlo ya en tiempo de compilacion.
H...
Regístrate para leer el documento completo.