lunes, 14 de noviembre de 2011

Como hacer el polimorfismo en c#

Aquí un ejemplo de como utilizar el polimorfismo en c#, el código se encuentra comentado pero cualquier duda puedes preguntar:

Código elaborado por theundertaker0

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace polimorfismo
{

class venta //creo una clase venta
{
public string descripción;
public int cantidad, preciounitario,total;

public venta(string n, int c, int pu) //en su constructor le doy una cantidad, un precio y una cantidad
{
cantidad = c;
preciounitario = pu;
descripción = n;
total = cantidad * preciounitario;

}

public virtual double iva() //creo un método que calcule el iva en base al 16% y se llame iva
{ //la palabra virtual es la que indica que se puede modificar por sus herederos
return total * 0.16;
}
}

class ventafrontera:venta //creo una clase y hago que herede de venta
{

public override double iva() //aquí hago el polimorfismo, por default hereda de venta el iva
{ //basado en el 16%, pero por polimorfismo hacemos que se llame igual pero funcione diferente
return total * 0.11; //el override es la clave para polimorfismo
}

}

class Program
{ //esta es la clase principal

static void Main(string[] args)
{
venta v1 = new venta("azucar", 2, 20); //solo instancio un objeto de cada clase
ventafrontera v2 = new ventafrontera();

Console.WriteLine(v1.iva()); //y llamamos al metodo iva de cada clase para ver como
Console.WriteLine(v2.iva()); //segun la clase funcionan diferente.
Console.ReadKey(); //solo para que deje ver los resultados (como una pausa)

}
}
}

1 comentario:

  1. Que tal, Te hago un comentario, este ejemplo no es correcto porque estas definiendo atributos de ámbito público, los atributos de una clase son privados. Deben estar encapsulados y se acceden usando Property.

    ResponderEliminar