Est ce possible?

cs_VinZzZ Messages postés 4 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 22 octobre 2002 - 17 oct. 2002 à 17:24
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 - 21 oct. 2002 à 13:36
Je me pose un question auquel j'espère quelqu'un aura une réponse, mais peut être que ce n'est pas possible en Java??

On a crée une classe mère A et une classe fille B.

Est il possible, dans une méthode static définie dans A, de faire appel automatiquement au constructeur de la classe A si on utilise A et de la classe B si on utilise la classe B, sans avoir à redéfinir cette méthode dans B?

Précison via un exemple:
class A {
public static Iterator getLastRecordsIterator(xxx X1) {
...
/* ici on appel le constructeur de A, mais j'aimerais juste appeler le constrcteur de la classe dans laquel je suis, this est evidemment pas utilisable puisqu'on est dans une fonction static*/
it.add(new A(p1,p2,...))

...
}
};

class B extend A {
...
};

J'aimerais ne pas redéfinir getLastRecordsIterator() dans la classe B descendant de A mais evidemment que celle ci appelle cette fois le constructeur de A.

Comment faire?

VinZzZ - 42 powered
VinZzZ - 42 powered

1 réponse

JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
21 oct. 2002 à 13:36
La seule solution que je vois est de creer dans A une méthode static :

public static A nouveau(p1,p2,p3,...)
{
return new A(p1,p2,p3,...);
}

et de la suchargée dans B :
public static A nouveau(p1,p2,p3,...)
{
return new B(p1,p2,p3,....);
}

et ensuite dans ta méthode tu remplaces new A(p1,p2,p3,...) par nouveau(p1,p2,p3,...)

Et voilà

JHelp
0
Rejoignez-nous