Surcharge d’une méthode virtuelle dans une classe générique

Author:

Non,Edité
{filelink=17492}

using System;

namespace Generique
{
    class ClasseDeBaseGenerique
    {
        protected T MonObjet;

        public ClasseDeBaseGenerique(T o)
        {
            MonObjet = o;
        }

        public virtual T getMonObject()
        {
            Console.Write("La Méthode getMonObject() de la classe de base: ");
            return MonObjet;
        }
    }

    class ClasseDeriveeGenerique : ClasseDeBaseGenerique
    {

        public ClasseDeriveeGenerique(T o) : base(o) { }

        public override T getMonObject()
        {
            Console.Write("La méthode surchargée getMonObjet(): ");
            return MonObjet;
        }
    }

    class Test
    {
        public static void Main()
        {
            ClasseDeBaseGenerique objet = new ClasseDeBaseGenerique(10);

            Console.WriteLine(objet.getMonObject());

            objet = new ClasseDeriveeGenerique(20);

            Console.WriteLine(objet.getMonObject());
        }
    }

}

Leave a Reply

Your email address will not be published. Required fields are marked *