Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr

Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros

Exemple 12-16 extrait du chapitre Héritage/dérivation polymorphisme et abstraction


Exemple 12-15<     > Exemple 13-1


Cet exemple peut être compilé avec la ligne de commande:
csc.exe /target:exe Exemple_12_16.cs
Erreurs: 0 Avertissements: 0
Remarque:


Exemple_12_16.cs
using System;
interface IA { void f(int i); }
interface IB { void g(int i); }
abstract class FooBase { public abstract void h(int i); }
class FooDeriv : FooBaseIA {
   public void f(int i) { /*...*/ }
   public override void h(int i){ /*...*/ }
}
class Program {
   static void Main() {
      IA refA = new FooDeriv();
      IB refB = null;
      FooBase refAbst = null;
      FooDeriv refDeriv = null;
      // Ici, le transtypage peut se faire.
      refAbst = refA as FooBase;
      if ( refAbst != null ) {
         // utilise refAbst...
      }
      // Ici, le transtypage peut se faire.
      refDeriv = refA as FooDeriv;
      if ( refDeriv != null ) {
         // utilise refC...
      }
      // Ici, le transtypage ne peut pas se faire.
      refB = refA as IB;
      if ( refB != null ) {
         // utilise refB...
      }
   }
}	
Copyright Patrick Smacchia 2006 2007