
{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());
}
}
}