Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
vc.spam
Bonjour,
tu peux faire une surcharge de fonction déclaré dans la classe, mais, il faut que la classe et la fonction soit redéfinisable (pas "final"). Et surtout il faut que la fonction existe dans le type de départ.
En admettant que String ne soit pas déclaré final (mais elle est finale) tu pourrais écrire:
s = new String(s) { public String toString() { //surcharge de la version normale return "ma chaine est " + this; } };
ce code n'est pas possible puisque que String est final mais ça marcherait avec Object... Sauf qu'il faut un constructeur de copie (constructeur utilisant un Objet de même classe pour créer un nouvel objet) qui n'est pas dans object. Je pense que ça marcherait avec une liste (j'ai pas la Javadoc sous la main).
En fait ça revient à définir une classe héritant de String redéfinissant la méthode to String. c'est ce qu'on appelle une classe anonyme, ça se fait bcp pour créer des instances unique d'une classe, notamment des instances d'interfaces...
Voilà, A+
"remy" wrote in message news:<4173d27c$0$27896$...
bonjour
est il possible en java de surcharger une fct/methode ou dans rajouter une sur un obj deja cree par exemple
String s=new String("123"); s=s+public int test(){return 2;};
s.test(); retour 2 merci remy
Bonjour,
tu peux faire une surcharge de fonction déclaré dans la classe, mais,
il faut que la classe et la fonction soit redéfinisable (pas
"final"). Et surtout il faut que la fonction existe dans le type de
départ.
En admettant que String ne soit pas déclaré final (mais elle est
finale) tu pourrais écrire:
s = new String(s)
{
public String toString()
{
//surcharge de la version normale
return "ma chaine est " + this;
}
};
ce code n'est pas possible puisque que String est final mais ça
marcherait avec Object... Sauf qu'il faut un constructeur de copie
(constructeur utilisant un Objet de même classe pour créer un nouvel
objet) qui n'est pas dans object. Je pense que ça marcherait avec une
liste (j'ai pas la Javadoc sous la main).
En fait ça revient à définir une classe héritant de String
redéfinissant la méthode to String. c'est ce qu'on appelle une classe
anonyme, ça se fait bcp pour créer des instances unique d'une classe,
notamment des instances d'interfaces...
Voilà, A+
"remy" <remy@fctpas.fr> wrote in message news:<4173d27c$0$27896$8fcfb975@news.wanadoo.fr>...
bonjour
est il possible en java de surcharger une fct/methode ou dans rajouter une
sur un obj deja cree
par exemple
String s=new String("123");
s=s+public int test(){return 2;};
tu peux faire une surcharge de fonction déclaré dans la classe, mais, il faut que la classe et la fonction soit redéfinisable (pas "final"). Et surtout il faut que la fonction existe dans le type de départ.
En admettant que String ne soit pas déclaré final (mais elle est finale) tu pourrais écrire:
s = new String(s) { public String toString() { //surcharge de la version normale return "ma chaine est " + this; } };
ce code n'est pas possible puisque que String est final mais ça marcherait avec Object... Sauf qu'il faut un constructeur de copie (constructeur utilisant un Objet de même classe pour créer un nouvel objet) qui n'est pas dans object. Je pense que ça marcherait avec une liste (j'ai pas la Javadoc sous la main).
En fait ça revient à définir une classe héritant de String redéfinissant la méthode to String. c'est ce qu'on appelle une classe anonyme, ça se fait bcp pour créer des instances unique d'une classe, notamment des instances d'interfaces...
Voilà, A+
"remy" wrote in message news:<4173d27c$0$27896$...
bonjour
est il possible en java de surcharger une fct/methode ou dans rajouter une sur un obj deja cree par exemple
String s=new String("123"); s=s+public int test(){return 2;};
s.test(); retour 2 merci remy
Wismerhill
remy ecrivit le 18/10/2004 16:27 :
bonjour
est il possible en java de surcharger une fct/methode ou dans rajouter une sur un obj deja cree par exemple
String s=new String("123"); s=s+public int test(){return 2;};
s.test(); retour 2 merci remy
Non, sauf avec http://www.beanshell.org/home.html
remy ecrivit le 18/10/2004 16:27 :
bonjour
est il possible en java de surcharger une fct/methode ou dans rajouter une
sur un obj deja cree
par exemple
String s=new String("123");
s=s+public int test(){return 2;};