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:25
Morlan Messages postés 7 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 octobre 2002 - 17 oct. 2002 à 19:35
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

Morlan Messages postés 7 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 octobre 2002
17 oct. 2002 à 19:35
salut VinZzZ
en fait, ce que tu demandes, c'est si le polymorphisme peut s'appliquer aux methodes statiques, et la reponse est non.(Donc pas d'autre solution que de redefinir ta methode statique dans la classe B)
Ceci etant, peut-etre pourras tu repenser ton programme et remplacer ta methode statique par une methode d'instance(exemple: la classe LinkedList de java a une methode d'instance qui renvoie un iterateur sur l'objet liste).
@+
0
Rejoignez-nous