Introducción a la Programación Orientada a Objetos. Polimorfismo
Figue1983Práctica o problema23 de Noviembre de 2016
1.049 Palabras (5 Páginas)324 Visitas
Universidad Politécnica de Baja California[pic 1]
Carrera:
Ingeniería en Tecnologías de la Información
Alumno:
Victor Figueroa Raya # 150306
Maestro: Ing. Jesús Alejandro Mora Martínez
Grupo: 4AV
Materia:
Introducción a la Programación Orientada a Objetos
Mexicali B.C. 20 de Octubre del 2016
Polimorfismo:
En programación, polimorfismo seria la capacidad que tiene una clase en convertirse en un nuevo objeto sin cambiar su esencia y luego volver al objeto original de donde salió.
Es uno de los pilares de la programación orientada a objetos más utilizada, en lo único que los programadores no la usan es en las aplicaciones de negocios.
Existen 3 tipos de polimorfismo:
- Polimorfismo por herencia: cuando se hereda de una clase normal y puedo convertirme en ella.
- Polimorfismo por abstracción: cuando puedo heredar de una clase abstracta y puedo convertirme en ella.
- Polimorfismo por interface: es la posibilidad que tenemos de implementar una interface y puedo convertirme en ella.
Polimorfismo por Herencia:
Este tipo de polimorfismo es el más popular que existe, y tiene la facultad de heredar de una clase padre y reemplazarla.
[pic 2]
En un proyecto de consola se tienen que crear las siguientes tres clases:
public class Perro
{
public string ladrar()
{
return “Perro Ladrando”;
}
}
public class Chihuahua : Perro
{
}
public class Bulldog : Perro
{
}
En la clase perro tenemos un método que solo nos devuelve un string. Por otra parte las clases chihuahua y bulldog serán clases que heredaran el comportamiento de la clase perro.
Polimorfismo por Abstracción:
El polimorfismo por abstracción se da con el uso de las clases abstractas. Una clase abstracta es aquella que posee además de lo normal que contiene una clase, también cuenta con comportamientos que están definidos pero no implementados
Por ejemplo que sucedería si en el ejemplo anterior necesitamos implementar un comportamiento en los perros el cual sea dormir.
Primero para lograr esto debemos de declarar la clase perro como abstracta y luego declarar el método dormir para luego implementarlo en las clases hijos.
public abstract class Perro
{
public virtual string ladrar()
{
return “Perro Ladrando”;
}
public abstract string Dormir();
}
public class Bulldog : Perro
{
public override string ladrar()
{
return “Bulldog Ladrando”:
}
public override string Dormir()
{
return “Buldog Durmiendo”;
}
}
public class Chihuahua : Perro
{
public override string ladrar()
{
return “Chihuahua Ladrando”:
}
public override string Dormir()
{
return “Chihuahua Durmiendo”;
}
Como podemos observar declaramos la clase perro como abstracta y el método dormir también. Así que también en el Main del Program tenemos que implementar el método abstracto. Recordemos que las clases abstractas no se pueden instanciar.
...