Override de classe

cs_desperad0 Messages postés 8 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 25 août 2003 - 21 août 2003 à 11:02
benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 - 21 août 2003 à 14:12
j'ai fait une copie d'une classe du jre, j'ai modifié son code(c'est la classe socket), et je voudrait que mon programme utilise ma classe socket plutot que celle qui se trouve dans la librairie du jre (en l'occurence dans le rt.jar).
J'ai deja essayé en incluant ma classe dans le projet, tout en gardant la meme arborescence qu'il y a dans le jar (c'est à dire java/net/socket.class), ou aussi en creant un fichier jar contenant ma classe, et en l'appelant avant le jre dans le classpath (puisque apparement la notion d'ordre d'appel dans le classpath peut agir.. mais bon dans mon cas apparement non)
quelqu'un aurait-il une idée?

7 réponses

benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 7
21 août 2003 à 11:29
bonjour,
les seules solution que je vois sont:
soit tu nomme ta classe autrement genre Socket2
ou si tu dois garder Socket tu vire celle qui existe deja dans le rt.jar et tu la remplace par la tienne mais elles ont interet a etre semblables, tout du moins ta classe socket dois au minimum avoir le contenu de la classe socket existante

benohite
:big)
0
cs_desperad0 Messages postés 8 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 25 août 2003
21 août 2003 à 11:40
Ah oui, ce que j'ai oublié de specifier, c'est que je ne peut retoucher l'appel à la classe Socket.s
Mais bon je vois que l'avais compris :)
oui j'ai dejà pensé a faire ce que tu dis, mais bon, c'est une solution que je tenterai en dernier recours !
0
benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 7
21 août 2003 à 12:00
pkoi ne pas changer le package de ta classe socket ainsi tu seras sur que c est elle que tu appelles quand tu l utilise

benohite
:big)
0
cs_desperad0 Messages postés 8 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 25 août 2003
21 août 2003 à 12:14
Ben vu que l'appel se fait sur la classe qui se trouve dans le jre (c'est à dire java.net.Socket.class) je ne peux pas specifier un autre package, sinon y aurait vraiment plus d'espoir de pouvoir appeler ma classe.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
21 août 2003 à 12:22
8-) Neodante 8-)

Juste une question comme ça (même si c'est pas vraiment constructif) : pourquoi vouloir remplacer une classe standard dans le JRE, c'est entraver le principe de Java (héritage, portabilité du code, ...) et en plus c'est tellement simple de faire sôn propre package...
:question) :question) :question) :question) :question)
@+
0
cs_desperad0 Messages postés 8 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 25 août 2003
21 août 2003 à 13:29
C'est le seul moyen que j'ai de pouvoir inserer mes lignes de code concernant des manip sur la socket....tout ca parce que je ne peut avoir accès au code qui fait appel à la classe Java.net.Socket. Donc je n'ai pas d'autres choix que de faire ça.Et faire un package c'est pour les cas simple, là ça ne l'est pas.
0
benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 7
21 août 2003 à 14:12
a part le fait de remplacer la classe dans le rt.jar, ja na vois pas trop comment tu pourrais faire
a mon avis c la seule solution

benohite
:big)
0
Rejoignez-nous