Polimorfismo En Programación Orientada A Objetos
shariver22 de Febrero de 2014
611 Palabras (3 Páginas)430 Visitas
*Polimorfismo en Programación Orientada a Objetos*
En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.
El polimorfismo se refiere a la posibilidad de definir múltiples clases con funcionalidad diferente, pero con métodos o propiedades denominados de forma idéntica.
Son comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado.
SOY UNA BARRA SEPARADORA
Tenemos una clase Empleado y otra clase Alumno, las cuales heredan de una clase abstracta Persona que tiene el método Saludar. En las clases hijas sobrescribiremos el método Saludar devolviendo el nombre de la persona y si es un empleado o un alumno.
public interface IPersona
{
String Despedirse();
}
public class Alumno : IPersona
{
public Alumno(string nombre)
{
this.Nombre = nombre;
}
public string Despedirse()
{
string adios = "El alumno " + this.Nombre + " se despide cordialmente";
return adios;
}
}
public class Empleado : IPersona
{
public Empleado(string nombre)
{
this.Nombre = nombre;
}
public string Despedirse()
{
string adios = "El empleado " + this.Nombre + " se despide cordialmente";
return adios;
}
}
De la misma manera que en el ejemplo anterior, podemos instanciar un arreglo de tipo IPersona, agregar objetos que implementen la interfaz IPersona: un objeto alumno o un objeto empleado, para luego iterar y llamar al método Despedirse.
IPersona[] personas = new IPersona[2];
personas[0] = new Alumno("Jaime Correa");
personas[1] = new Empleado("Juan Perez");
for (int i = 0; i < personas.Length; i++)
{
Console.WriteLine(personas[i].Despedirse());
}
El resultado será…
Hola, mi nombre es Jaime Correa y soy un alumno
Hola, mi nombre es Juan Perez y soy un alumno
SOY OTRA BARRA SEPARADORA
Punto de vista: Lo considero polimorfismo debido a que una misma clase se utiliza de dos formas diferentes, dependiendo de cómo se invoque es la manera en que “realiza su trabajo”.
En este caso, al invocar el “saludar”, la clase personas y todas las clases que heredan de personas se comportan de manera distinta según si se emplea empleado o alumno. Debido a que cumple con el concepto lo considero polimorfismo. Y a mi parecer resulta útil, cómodo y permite ahorrar líneas de código.
...