Polimorfismo En Programación Orientada A Objetos
Enviado por shariver • 22 de Febrero de 2014 • 611 Palabras (3 Páginas) • 391 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
...