[POO CON C#] POO CON C#: 004-POLIMORFISMO
En el polimorfismo veremos que podemos hacer uso de una clase padre en el tema de herencia para posteriormente cargar la instancia directa de sus clases hijas, con lo que se incorpora el comportamiento de dichas clases hijas sobre la clase de donde se heredan. Debemos tener en cuenta que la instancia sólo cargará aquel comportamiento que sea compatible y compartida tanto en la clase padre y la clase hija; para este caso estaremos usando método virtuales y métodos de sobreescritura con lo que le daremos aún una mayor funcionalidad al tema de herencia con el objetivo de llevar a cabo de forma correcta nuestro tema de polimorfismo.
Cabe recalcar que la herencia y polimorfismo van de la mano por lo que en este ejemplo se emplea el uso de ambos conceptos.
Seguidamente les dejo con el código de ejemplo que se trabaja en este post.
Deportista.cs
using System;
namespace AppFirst
{
public class Deportista
{
public virtual void jugar()
{
Console.WriteLine("El deportista juega");
}
}
}
Ciclista.cs
using System;
namespace AppFirst
{
public class Ciclista : Deportista
{
public override void jugar()
{
Console.WriteLine("El ciclista juega");
}
public void descender()
{
Console.WriteLine("El ciclista desciende la montaña");
}
}
}
Futbolista.cs
using System;
namespace AppFirst
{
public class Futbolista : Deportista
{
public override void jugar()
{
Console.WriteLine("El futbolista juega");
}
public void patear()
{
Console.WriteLine("El futbolista patea la pelota");
}
}
}
Maratonista.cs
using System;
namespace AppFirst
{
public class Maratonista : Deportista
{
public override void jugar()
{
Console.WriteLine("El maratonista juega");
}
public void correr()
{
Console.WriteLine("El maratonista corre 100 metros planos");
}
}
}
Program.cs
using System;
namespace AppFirst
{
public class Program
{
public static void Main(string[] args)
{
Ciclista ciclista = new Ciclista();
Futbolista futbolista = new Futbolista();
Maratonista maratonista = new Maratonista();
ciclista.jugar();
ciclista.descender();
futbolista.jugar();
futbolista.patear();
maratonista.jugar();
maratonista.correr();
Deportista deportista1 = new Ciclista();
Deportista deportista2 = new Futbolista();
Deportista deportista3 = new Maratonista();
deportista1.jugar();
deportista2.jugar();
deportista3.jugar();
Console.ReadLine();
}
}
}
Para una explicaicón más detallada del ejemplo; a continuación les dejo con un video que explica lo anteriormente mencionado.
Autor: Kevin Arias
Comentarios
Publicar un comentario