J'ai pris dans cet exemple une classe mère nommée Employe ainsi que classe fille (qui hérite de Employe) : technicien et Vendeur .
Source / Exemple :
using Csl = System.Console ;
namespace ConsoleApplication6
{
/// <summary>
/// COMMENT CONTROLER LA CREATION DE CLASSES HERITEES ...
/// </summary>
class Class1
{
public static int Main()
{
Employe e = new Employe ();
Employe e2 = new Employe(20,"Gerard","Manvu");
Technicien e3 = new Technicien();
Technicien e4 = new Technicien(52,"SAHRA","FRAICHI","INFORMATIQUE");
Vendeur e5 = new Vendeur(29,"dédé","célui","MICROSOFT VISUAL STUDIO .NET");
Csl.WriteLine("|||||||||||||||||||||||||||||||||||||||||||||");
Csl.WriteLine("Employé 1:");
Csl.Write("age : ");
Csl.WriteLine(e.age );
Csl.Write("nom: ");
Csl.WriteLine(e.nom);
Csl.Write("prenom: ");
Csl.WriteLine(e.prenom);
Csl.WriteLine("|||||||||||||||||||||||||||||||||||||||||||||");
Csl.WriteLine("Employé 2:");
Csl.Write("age : ");
Csl.WriteLine(e2.age );
Csl.Write("nom: ");
Csl.WriteLine(e2.nom);
Csl.Write("prenom: ");
Csl.WriteLine(e2.prenom);
Csl.WriteLine("|||||||||||||||||||||||||||||||||||||||||||||");
Csl.WriteLine("Employé 3:");
Csl.Write("age : ");
Csl.WriteLine(e3.age );
Csl.Write("nom: ");
Csl.WriteLine(e3.nom);
Csl.Write("prenom: ");
Csl.WriteLine(e3.prenom);
Csl.WriteLine("|||||||||||||||||||||||||||||||||||||||||||||");
Csl.WriteLine("Employé 4:");
Csl.Write("age : ");
Csl.WriteLine(e4.age );
Csl.Write("nom: ");
Csl.WriteLine(e4.nom);
Csl.Write("prenom: ");
Csl.WriteLine(e4.prenom);
Csl.Write("technicien en ");
Csl.WriteLine(e4.technique);
Csl.WriteLine("|||||||||||||||||||||||||||||||||||||||||||||");
Csl.WriteLine("Employé 5:");
Csl.Write("age : ");
Csl.WriteLine(e5.age );
Csl.Write("nom: ");
Csl.WriteLine(e5.nom);
Csl.Write("prenom: ");
Csl.WriteLine(e5.prenom);
Csl.Write("S'occupe des ventes de ");
Csl.WriteLine(e5.produit );
Csl.ReadLine ();
return 0;
}
}
class Employe
{
public int age;
public string nom;
public string prenom;
public Employe()
{
Csl.WriteLine("CONSTRUCTEUR PAR DEFAULT DE EMPLOYE APPELLE !");
age = 0;
nom = " ";
prenom = " ";
}
public Employe(int a,string n,string p)
{
Csl.WriteLine("2nd Constructeur de LA CLASS EMPLOYE A ETE APPELLE !");
age = a;
nom = n;
prenom = p;
}
}
class Technicien : Employe // hérite d'Employe
{
public string technique;
public Technicien() // constructeur par défault
{
Csl.WriteLine(" TECHNICIEN CREE ");
}
public Technicien(int a,string n,string p,string t)//2nd constructeur
{
Csl.WriteLine(" CREATION TECHNICIEN via 2nd constructeur de technicien ");
age = a;
nom = n;
prenom = p;
technique = t;
}
}
class Vendeur : Employe // hérite d'Employe
{
public string produit;
public Vendeur()// constructeur par default
{
Csl.WriteLine("CONSTRUCTEUR PAR DEFAULT DE VENDEUR A ETE APPELLE ");
}
public Vendeur(int a,string n, string p, string pr)// 2nd constructeur
{
Csl.WriteLine("creation vendeur 2nd CONSTRUCTEUR DE VENDEUR A ETE APPELLE");
age = a;
nom = n;
prenom = p;
produit = pr;
}
}
}
// ptit pub pour mon association (le FPL): http://endsub.free.fr ;)
// conclusion, le constructeur appelé est 'implicitement déclaré ' en fonction de ses arguments
// sachant que le constructeur par default de la class EMPLOYE est appellé ( -> héritage )
Conclusion :
Si on creer un objet Technicien oubien Vendeur, le constructeur par défault de la classe Employe (mere) est appelé.
Ici on vas voir comment appelé un autre constructeur que celui par défaut