polimorfismo

11
3.3 PROGRAMACIÓN ORIENTADA OBJETO POO POLIMORFISMO 1/11

description

descripcion

Transcript of polimorfismo

Page 1: polimorfismo

3.3 PROGRAMACIÓN ORIENTADA OBJETO POO

POLIM

ORFIS

MO

1/11

Page 2: polimorfismo

POLIMORFISMO

CONCEPTO

Es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación.

Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa.

2/11

Page 3: polimorfismo

El polimorfismo es también conocido como ‘Sobrecarga de parámetros’

ya que las características de los objetos permiten aceptar distintos parámetros para un mismo método.

Dicho de otra forma

El polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objeto de cualquiera de sus subclases.

El concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos.

Así nacen los conceptos de funciones polimórficas tipos polimórficos.

3/11

Page 4: polimorfismo

POLIMORFISMO

Los comportamientos pueden ser identificados bajo el mismo nombre pero procesan información de manera diferente de acuerdo al objeto que lo contenga.

4/11

Page 5: polimorfismo

EJEMPLOS DE POLIMORFISMO

Como se puede ver, todas tienen el mismo método CalculaArea(),

solo que al invocarlos, cada clase realizará la operación correspondiente de acuerdo a quien lo está invocando, es decir, los algoritmos del cálculo de área son diferentes en cada clase derivada.

Atributo Subclase Clase

Forma

Circulo

ÁreaRadio

CalcularArea()

Triangulo Área

Base, altura

Rectángulo Área

Longitud , ancho

5/11

Page 6: polimorfismo

FUNCIONES POLIMÓRFICAS Y TIPOS POLIMÓRFICOS

FUNCIONES POLIMÓRFICAS : Son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta

TIPOS POLIMÓRFICOS: por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado

6/11

Page 7: polimorfismo

CLASIFICACIÓN DE POLIMORFISMOS

Polimorfismo

dinámico

Polimorfismo

estático

Es aquél en el que el código no incluye ningún tipo de especificación sobre el tipo de datos sobre el que se trabaja.

Es aquél en el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de poder ser utilizados.

El polimorfismo dinámico unido a la herencia es lo que en ocasiones se conoce comoprogramación genérica.

7/11

Page 8: polimorfismo

POLIMORFISMO MÉTODOS VIRTUALES

El polimorfismo indica que una variable pasada o esperada puede adoptar múltiples formas. Cuando se habla de polimorfismo en programación orientada a objetos se suelen entender dos cosas

1) se refiere a que se puede trabajar con un objeto de una clase sin importar de qué clase se trata

2) Suele referirse a la posibilidad de declarar métodos con el mismo nombre que pueden tener diferentes argumentos dentro de una misma clase.

8/11

Page 9: polimorfismo

BENEFICIOS DEL POLIMORFISMO

Simplicidad

• Si necesitas escribir código que trata con una familia de tipos, el código puede ignorar los detalles específicos

• Aunque el código piense que está actuando con un objeto de tipo superclase, puede estar operando con un objeto subclase

Extensibilidad

• Otras subclases pueden ser añadidas después a la familia de tipos, y sus objetos pueden también seguir trabajando con el código existente.

9/11

Page 10: polimorfismo

EJEMPLO DE POLIMORFISMO

Ejemplo de polimorfismo

En este ejemplo haremos uso del lenguaje C++ para mostrar el polimorfismo. También se hará uso de las funciones virtuales puras de este lenguaje.

10/11

Page 11: polimorfismo

EJEMPLO DE POLIMORFISMO

11/11