|
Exemple 12-12 extrait du chapitre
Héritage/dérivation polymorphisme et abstraction
Exemple 12-11< > Exemple 12-13
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:exe Exemple_12_12.cs Erreurs: 0 Avertissements: 0 Remarque:
Exemple_12_12.cs
interface I {
void f(int i);
void g(int i);
}
class FooBase : I {
public virtual void f(int i) {
System.Console.WriteLine("FooBase.f({0})", i);
}
public void g(int i) {
System.Console.WriteLine("FooBase.g({0})", i);
}
}
class FooDeriv : FooBase {
public override void f(int i) {
System.Console.WriteLine("FooDeriv.f({0})", i);
}
}
class Program {
static void Main() {
FooBase refB1 = new FooBase();
I refI1 = refB1;
FooDeriv refD = new FooDeriv();
FooBase refB2 = refD;
I refI2 = refD;
refB1.f(1);
refI1.f(2);
refD.f(3);
refB2.f(4);
refI2.f(5);
}
}
Copyright Patrick Smacchia 2006 2007
|