Sunteți pe pagina 1din 7

POLI: Mltiple

MORFISMO: Formas

Un mismo objeto puede tomar DIVERSAS FORMAS.


permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operacin de diferentes formas, segn sea el objeto que se referencia en ese momento.

Distintas instancias del mismo tipo interpretan el mismo mensaje en diferentes formas

Mtodo abstracto:
Figura

Circulo

Triangulo

Mtodo concreto:
Figura a = new Crculo (); Figura b = new Tringulo (); *Este fragmento de cdigo muestra el concepto de polimorfismo

HERENCIA

POLIMORFISMO

CLASES

JERARQUA

MTODOS

As como la herencia est relacionada con las clases y la jerarqua, el polimorfismo est relacionado con los mtodos

Es el mecanismo que permite convertir objetos de una sper clase a una subclase la sintaxis es : Variable Subclase=(sub clase) variable superclase; Este no se puede efectuar indiscriminadamente , si no sobre objetos de la misma rama de herencia.

ANIMAL LORO GATO

Loro c = new Loro(); Animal a = c;

SOBRECARGA
Es la posibilidad de tener dos o ms funciones con el mismo nombre pero funcionalidad diferente. Es decir, dos o ms funciones con el mismo nombre realizan acciones diferentes.
class Calculadora { int suma(int x, int y) { return (x + y); } float suma(float x, float y) { return (x + y); } }

SOBREESCRITURA

ENLACE DINAMICO
Desde un objeto de la clase derivada, siempre se accede al mtodo sobrescrito. El mtodo original queda oculto. La decisin de a quien llamar se resuelve basndose en el tipo de la variable del objeto

Desde cualquier mtodo de la clase base o derivada o desde fuera de ellas, una llamada a un mtodo se resuelve en base al tipo del objeto, no el de la variable.

public class Empleado { String nombre; int salario; public String getDetails () { return "Nombre: " + nombre + "\n" + "Salario: " + salario; } } public class Jefe extends Empleado{ String departamento; public String getDetails() { return "Nombre: " + nombre + "\n" + "Departamento: " + departamento;

class Base { public: void Metodo( ) {cout << "Base::Metodo\n"; }}; class Derivada : public Base { public: void Metodo( ) {cout << "Deri::Metodo\n"; }}; void main() { Base ObjBase; Derivada ObjDerivada; Base* pBase; pBase = &ObjBase; pBase->Metodo( ); pBase = &ObjDerivada; pBase->Metodo( ); }

Polimorfismo es la posibilidad de que un mtodo tenga el mismo nombre y produzca el mismo efecto bsico pero est implementado de forma distinta en las subclases.

Potencia y flexibiliza la POO.


Consiste en que toda referencia a un objeto de una clase especfica puede tomar la forma de una referencia a un objeto de una clase heredada a la suya Significa que la misma operacin puede comportarse diferente en clases distintas. Esta muy ligado a la herencia Distintas instancias del mismo tipo interpretan el mismo mensaje en diferentes formas. El polimorfismo requiere enlace dinmico * Enlace dinmico: la llamada se resuelve en tiempo de ejecucin * Enlace esttico: la llamada se resuelve en tiempo de compilacin.

S-ar putea să vă placă și