Está en la página 1de 8

POLIMORFISMO.

El polimorfismo es el modo en que los lenguajes orientados a objetos implementan el concepto de polisemia del mundo real: “Un
único nombre para muchos significados, según el contexto”.

También se describe como la capacidad de una entidad de referenciar distintos elementos en distintos instantes de tiempo, existen
cuatro formas de polimorfismo, cada una de las cuales permite una forma distinta de reutilización de software:
 Sobrecarga
 Sobre escritura
 Variables polimórficas
 Genericidad.
El concepto de polimorfismo lo podemos definir como el proceso que permite aplicar una función sobre distintos tipos de datos. Este
concepto es muy importante, ya que nos permite reducir la complejidad de un programa al facilitarnos la abstracción de una acción.

Ejemplo 1: Creamos la Clase Carro como clase Padre, la Clase compacto como clase Hija y la clase trailer como clase hija tambien;
por ultimo creamos la clase Principal que contenga el main() para crear ahí nuestros objetos que deseemos:

Clase : Carro
Estado:
peso
altura
ancho
largo
numpuertas
modelo

Comportamiento:
mete_datos()
muestra_datos()
información_adicional()
Clase : compacto Clase : trailer
Estado: Estado:
nombre NumEjes
marca tipocontenedor

Comportamiento: Comportamiento:
pide_datos() pide_datos()
información_adicional() información_adicional()

La clase Carro tiene su estado y comportamiento, con la distinción de que existe un


método con el nombre de información_adicional () el cual contendrán las clases hijas
por default pero cuando estos son invocados por los objetos entonces se provoca ahí
en tiempo de ejecución el polimorfismo
Acá también La clase compacto y la clase trailer tienen sus estados y sus comportamientos,
con la distinción de que existe un método con el nombre de información_adicional () y
además el método pide_datos () el cual contendrán las clases hijas, entonces se provoca ahí
en tiempo de ejecución el polimorfismo.
Se crean 2 objetos, uno de tipo
compacto y otro de tipo trailer

Se utilizan los métodos


pide_datos() e
información_adicional() y
provocan el polimorfismo

El resultado en tiempo de ejecución es el siguiente:


Ejemplo 2: Se crea la clase padre animal con un método llamado emite_sonido(), luego las dos clases hijas: gatos y perros, también
con sus métodos emite_sonido(), posteriormente se crea la clase Principal que contiene el main().
Ejemplo 3: Se crea una clase llamada sobrecarga la cual contiene 0 entidades y 3 métodos, los cuales tienen el mismo nombre
pero con paso de argumentos (paso de variables) diferentes:

1. void pasa_valor(int a) donde solo pide que pase un valor de tipo entero
2. void pasa_valor(int x, int y) donde pide 2 valores de tipo entero
3. double pasa_valor(double a) donde pide un valor de tipo double y regresa un valor

Creamos un objeto de la clase sobrecarga y también una variable x de tipo double para capturar el valor
regresado por un método.
Ejecutamos el primer método pasando un valor entero de 10, luego ejecutamos el segundo método
pasando dos valores 100, 200 y por ultimo ejecutamos el último método y regresa un valor a la variable x.
El resultado es el que se muestra a continuación:

También podría gustarte