Manu94600
Messages postés107Date d'inscriptionlundi 9 juin 2003StatutMembreDernière intervention20 février 2008
-
5 juin 2006 à 15:29
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
5 juin 2006 à 16:22
Salut à tous,
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.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 5 juin 2006 à 16:22
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.
scaryman
Messages postés492Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention16 mai 200712 5 juin 2006 à 15:53
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 ?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Manu94600
Messages postés107Date d'inscriptionlundi 9 juin 2003StatutMembreDernière intervention20 février 2008 5 juin 2006 à 16:00
En fait je cherche plutot à faire du genre :
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);
}
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 5 juin 2006 à 16:08
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 ) { /* .. */ }
}
Manu94600
Messages postés107Date d'inscriptionlundi 9 juin 2003StatutMembreDernière intervention20 février 2008 5 juin 2006 à 16:12
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.