|
Exemple 12-3 extrait du chapitre
Héritage/dérivation polymorphisme et abstraction
Exemple 12-2< > Exemple 12-4
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:exe Exemple_12_3.cs Erreurs: 0 Avertissements: 0 Remarque:
Exemple_12_3.cs
public class Employe {
// m_Nom peut etre accédé dans les méthodes des classes dérivées.
protected string m_Nom;
public Employe(string nom) {m_Nom = nom;}
public virtual void DisplayDescription(){
System.Console.Write("Nom: {0}",m_Nom);
}
}
class Secretaire : Employe { // Secretaire hérite de Employe.
public Secretaire(string nom):base(nom) {}
public override void DisplayDescription(){
// Appel de la méthode DisplayDescription() de Employe.
base.DisplayDescription();
System.Console.Write( " Fonction: Secrétaire\n");
}
}
class Technicien : Employe{ // Technicien hérite de Employe.
public Technicien(string nom):base(nom) {}
public new void DisplayDescription(){
base.DisplayDescription();
System.Console.Write( " Fonction: Technicien\n");
}
}
class Program {
static void Main(){
Employe[] tableau = new Employe[3];
tableau[0] = new Technicien("Line");
tableau[1] = new Secretaire("Lisanette");
tableau[2] = new Secretaire("Anne-Mette");
foreach( Employe employe in tableau )
employe.DisplayDescription();
// Appel de la méthode DisplayDescription() de Technicien
((Technicien)tableau[0]).DisplayDescription();
}
}
Copyright Patrick Smacchia 2006 2007
|