Je voudrais savoir si c'est possible d'appeler un constructeur d'une classe, qui a été héritée, dans le constructeur de la classe héritée.
Un exemple: la classe A possède un constructeur A();
Et la classe B qui hérite de A, je voudrais que dans le constructeur de la classe B appelé le constructeur de la classe A.
Je repondais à scaryman nos messages ce sont croisés. Ce n'est pas possible ce que tu veux faire, tu peux appeler une fonction de la classe de base mais pas le constructeur.
Salut MM
Donc si je fais ça:
public B() : base()
{
Console.Out.WriteLine("hello"); //un exemple
}
Qu'est-ce qui se passe ?
Le constructeur de la superclasse sera exécuté avant ou après mes méthodes du constructeur ?
public void B(int variable): base(int cpt)
{
// traitement effecter avec les paramètres rentrés dans B
// Appel du constructeur de A avec le paramètre variable
base(variable);
}
Avant. La classe de base est toujours construite avant la classe dérivée.. l'appel explicite du constructeur de la classe de base clarifie la syntaxe mais si on n'indique pas "base( )" l'appel est quand même réalisé implicitement, l appel du constructeur de la classe de base est utile quand il faut passer des paramêtres.
public class A
{
public A( ) { }
public A( int x ) { /* .. */ }
}
public class B : A
{
public B( intx, int y ) : base( x ) { /* .. */ }
}
Je suis d'accord mais je voudrais appeler le constructeur de la classe A dans le constructeur de la classe B et pas forcement à la création de la classe B.