Académique Documents
Professionnel Documents
Culture Documents
Pedro A. Rodrguez
Programacin Orientada a Objetos (ICInf)
Departamento de Sistemas de Informacin
Facultad de Ciencias Empresariales
Universidad del Bio-Bio
Polimorfismo
En
Sobrecarga.
Sobreescritura.
Variables polimrficas.
Templates (plantillas).
Sobreescritura (overriding)
O polimorfismo de inclusin. Tipo especial de
Variables polimrficas
Tambin conocido como enlace dinmico.
O polimorfismo de asignacin: variable que se declara
Ejemplo:
Vehiculo v = new Camioneta();
Lista l = new LinkedList();
Templates (plantillas)
Forma de crear herramientas de propsito genrico (clases,
Tipos de enlace
Enlace esttico. O enlace temprano (early binding), enlace entre
la variable y el objeto se hace en tiempo de compilacin.
Enlace dinmico: O enlace tardo (late binding), consiste en que
los objetos adoptan su "forma real" en tiempo de ejecucin, sin
existir un enlace previo (esttico).
Una variable tiene un tipo esttico y un tipo dinmico.
Tipo esttico: corresponde al tipo con el cual la variable fue
declarada.
Tipo dinmico: es el tipo que adopta una variable en tiempo
de ejecucin despus de una asignacin.
Ejemplo:
Vehiculo v; // Vehiculo es el tipo esttico
v = new Camioneta(); // Camioneta es su tipo dinmico.
Enlace Dinmico
El trmino enlace dinmico, se refiere a la conexin entre una
llamada a una funcin y el cdigo real ejecutado, como
resultado de esa llamada.
En general, los lenguajes de programacin presentan dos tipos
de enlaces: esttico y dinmico.
Java slo implementa enlace dinmico (C++ permite tambin
enlace esttico).
Las clases derivadas o subclases pueden realizar una
implementacin distinta de una operacin que heredan desde
una superclase.
En Java, todos los mtodos son virtuales, por tanto, todos los
mtodos pueden ser redefinidos en las subclases (en esto
tambin es diferente a C++).
Animal
dormir)()
{
}
Dormir()
Leon
Oso
Caballo
Dormir()
Dormir()
Dormir()
dormir)()
{
Sobre el vientre
}
dormir)()
{
Sobre la espalda
}
dormir)()
{
Parado
}