Guida programmazione orientata agli oggetti Torna alla lezione

Esempio di polimorfismo [C#]

class Albero
{
    public virtual void cresce()
    {
        Console.WriteLine("Metodo cresce della classe Albero");
    }
}
class Abete : Albero
{
    public override void cresce()
    {
        Console.WriteLine("Metodo cresce della classe Abete");
    }
}
class Output
{
    static void Main(string[] args)
    {
        Albero alb;
        Abete ab;
        alb = new Albero();
        ab = new Abete();
        alb.cresce(); // output --> "Metodo cresce della classe Albero"
        ab.cresce();  // output --> "Metodo cresce della classe Abete"
        alb = new Abete();
        alb.cresce(); output --> "Metodo cresce della classe Abete"
    }
}