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
cs_VinZzZ Messages postés 4 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 22 octobre 2002 - 22 oct. 2002 à 11:45
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

2 réponses

willowman Messages postés 143 Date d'inscription vendredi 5 juillet 2002 Statut Membre Dernière intervention 18 mars 2006 1
21 oct. 2002 à 01:17
Salut !

Je ne suis pas sur d'avoir saisie ce que tu voulais faire, mais je t'oriente vers les notions de reflexion (introspection) en Java. (ou peut etre les classes abstraites cela depend du prob)

Les methodes de java.lang.Class, ainsi que .getClass(), Class.forName(), .newInstance() devront peut etre resoudre ton probleme.

Plus d'info si tu peux !!!

A pluche
0
cs_VinZzZ Messages postés 4 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 22 octobre 2002
22 oct. 2002 à 11:45
Merci pour vos réponses, j'ai regardé les méthodes de java.lang.Class
hélas il semble que celles-ci ne soient pas plus utilisable dans une méthode statique... (si j'ai bien compris getClass n'est pas static, et je ne peux donc pas l'appeler dans mes méthodes statics)

VinZzZ - 42 powered
0
Rejoignez-nous