polimorfismo 2
TRANSCRIPT
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 1/20
Andy Cruz Villamayor
Roberto Isaí Díaz GarcíaManuel A. Madrigal Heredia
José Alberto Jiménez Martínez
Polimorfismo
(POO)
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 2/20
Índice:
I.-Introducción.II.-Definiciones.
II.I.-Ejemplo ordinario.
II.I.-Ejemplo POO.III.-Tipos de polimorfismo.
III.I.-Polimorfismo de sobrecarga.
III.II.-Polimorfismo paramétrico.III.III.- Polimorfismo de subtipado.
IV.- Para que se usa.V.-Programadores.VI.- Software mas utilizados.
VII.-Conclusión.
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 3/20
La palabra polimorfismo proviene del griego
y significa que posee varias formas diferentes.Este es uno de los conceptos esenciales de unaprogramación orientada a objetos. Así como laherencia está relacionada con las clases y sujerarquía, el polimorfismo se relaciona con los
métodos.
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 4/20
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 5/20
Definición
El es otro de los pilares fundamentales de la programación
orientadaa objetos. Es la capacidad de almacenar objetos de un determinado
tipo en variables de tipos antecesores del primero a costa, claro está, de sólopoderse a través de dicha variable a los miembros comunes a ambos tipos. Sinembargo, las versiones de los métodos virtuales a las que se llamaría a travésde esas variables no serían las definidas como miembros del tipo de dichas variables, sino las definidas en el verdadero tipo de los objetos que almacenan.
polimorfismo
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 6/20
Ejemplo :polimorfismo, significa de muchas formas y es la capacidad que tienen objetosde diferentes clases(como una clase base "aves" o una clase derivada
"canarios") de responder al mismo mensaje, eso nos quiere decir que puede
haber muchos mensajes con el mismo nombre, en diferente clase, cada clase
responde al mensaje con su propio código.
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 7/20
Ejemplo POO:Una variable de tipo Persona puede usarse para almacenar objetos de tipo Trabajador. En
esos casos el campo Sueldo del objeto referenciado por la variable no será accesible, y la versión del método Cumpleaños() a la que se podría llamar a través de la variable de tipoPersona sería la definida en la clase Trabajador, y no la definida en Persona:
using System;
class Persona
{
// Campo de cada objeto Persona que almacena su nombre
public string Nombre;
// Campo de cada objeto Persona que almacena su edadpublic int Edad;
// Campo de cada objeto Persona que almacena su NIF
public string NIF;
// Incrementa en uno la edad del objeto Persona
public virtual void Cumpleaños()
{
Console.WriteLine("Incrementada edad de persona");}
// Constructor de Persona
public Persona (string nombre, int edad, string nif){
Nombre = nombre;Edad = edad;
NIF = nif;}
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 8/20
}
class Trabajador: Persona
{ // Campo de cada objeto Trabajador que almacena cuánto gana
int Sueldo;
Trabajador(string nombre, int edad, string nif, int sueldo)
: base(nombre, edad, nif)
{ // Inicializamos cada Trabajador en base al constructor de Persona
Sueldo = sueldo;
}
public override Cumpleaños()
{
Edad++;Console.WriteLine("Incrementada edad de trabajador");
}
public static void Main()
{
Persona p = new Trabajador("Josan", 22, "77588260-Z", 100000);
p.Cumpleaños();
// p.Sueldo++; //ERROR: Sueldo no es miembro de Persona
}
}
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 9/20
Tipos de polimorfismo:
>>Polimorfismo de sobrecarga.>>Polimorfismo paramétrico.>>Polimorfismo de inclusión.
Se clasifican en dos grandes clases;
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 10/20
Polimorfismo de sobrecarga.
También conocido como: polimorfismo de plantillas, ad hoc.
Definición:
El polimorfismo de sobrecarga ocurre cuando las funciones del
mismo nombre existen, con funcionalidad similar, en clases que
son completamente independientes una de otra (éstas no tienen
que ser clases secundarias de la clase objeto). Por ejemplo, la
clase complex, la clase image y la clase link pueden todas tener
la función "display". Esto significa que no necesitamospreocuparnos sobre el tipo de objeto con el que estamos
trabajando si todo lo que deseamos es verlo en la pantalla.
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 11/20
Por lo tanto, el polimorfismo de
sobrecarga nos permite definir
operadores cuyos comportamientos
varían de acuerdo a los parámetros
que se les aplican. Así es posible, por
ejemplo, agregar el operador + y hacer que se comporte de manera distinta
cuando está haciendo referencia a una
operación entre dos números enteros
(suma) o bien cuando se encuentra
entre dos cadenas de caracteres
(concatenación).
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 12/20
Polimorfismo paramétrico.También conocido como: dinámico, universal .
Definición:
El polimorfismo paramétrico es la capacidad para definir varias funciones
utilizando el mismo nombre, pero usando parámetros diferentes (nombre y/o
tipo). El polimorfismo paramétrico selecciona automáticamente el métodocorrecto a aplicar en función del tipo de datos pasados en el parámetro.
Por lo tanto, podemos por ejemplo, definir varios métodos homónimos
de addition() efectuando una suma de valores.
El método int addition(int,int) devolvería la suma de dos números enteros.
float addition(float, float) devolvería la suma de dos flotantes.
char addition(char, char) daría por resultado la suma de dos caracteresdefinidos por el autor.
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 13/20
Una signature es el nombre y tipo (estático) que se da a los argumentos de una
función. Por esto, una firma de método determina qué elemento se va a llamar.
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 14/20
Polimorfismo de subtipado.También se le conoce como: inclusión, redefinición .
Definición:
La habilidad para redefinir un método en clases que se hereda de una clase
base se llama especialización. Por lo tanto, se puede llamar un método de objeto
sin tener que conocer su tipo intrínseco: esto es polimorfismo de subtipado.
Permite no tomar en cuenta detalles de las clases especializadas de una familia
de objetos, enmascarándolos con una interfaz común (siendo esta la clase
básica).
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 15/20
Imagine un juego de ajedrez con los
objetos rey , reina, alfil , caballo, torre y peón,cada uno heredando el objeto pieza.
El método movimiento podría, usando
polimorfismo de subtipado, hacer el
movimiento correspondiente de acuerdo a la
clase objeto que se llama. Esto permite al
programa realizar el movimiento de pieza sin tener que verse conectado con
cada tipo de pieza en particular.
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 16/20
Para que se usa;S
e utiliza el polimorfismo en el uso de el operador + tanto comopara sumar, como para declarar la impresión de variables, ya que
como ejemplo en java se imprime de la siguiente manera:
System.out.println("Aquí se imprime la variable: "+variable);
Herencia:
A través de ella los diseñadores pueden
construir nuevas clases partiendo de una
jerarquía de clases ya existente
(comprobadas y verificadas) evitando conello el rediseño, la modificación y
verificación de la parte ya implementada.
La herencia facilita la creación de objetos a
partir de otros ya existentes, obteniendo
características (métodos y atributos)
similares a los ya existentes.
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 17/20
Programadores
Hoy en día el programador tiene la tarea mas fácil gracias a la POO y sus pilares
como en este caso el polimorfismo, pero por otro lado se ve abrumado a los
cambios constantes del software ya que gracias a este tipo de programación se
esta vanando a niveles antes no imaginados.
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 18/20
Software mas alisado; Así como ya se explico estas característica es propia de POO
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 19/20
Conclusión
Y o digo que polimorfismo es la capacidad que tiene un objeto dediferentes clases a responder a un mismo mensaje, es decir que pueden
haber muchos mensajes con el mismo nombre pero con diferente clase y cada clase puede responder a su mensaje con su propio método, este seaplica como a funciones y tipo de objetos. *hay polimorfismo dinamico y estático, para usar polimorfismo tenemos que ocupar la palabra"Casting"--> Molde, por lo que el termino literal es Hacer un Molde
5/12/2018 POLIMORFISMO 2 - slidepdf.com
http://slidepdf.com/reader/full/polimorfismo-2 20/20
BIBLIOGRAFIA:
http://technolifeandmore.blogspot.com/2011/02/reporte-3-herencia-y-polimorfismo-en-el.html
http://es.kioskea.net/contents/poo/polymorp.php3
http://poo207av.blogdiario.com/1177712040/
http://www.devjoker.com/contenidos/Tutorial-C/135/Polimorfismo.aspx
http://www.alegsa.com.ar/Dic/polimorfismo.php
http://es.wikipedia.org/wiki/Polimorfismo_(inform%C3%A1tica)
http://israel11-90.blogspot.com/2011/06/poopolimorfismo-y-herencia.html