- SimonHV
- Member
- Registered: 2011-11-26
- Posts: 4
Récupérer la valeur d'un attribut dans une classe héritant de Turtle
Bonjour,
j'ai un petit problème qui doit être assez bête à résoudre mais je ne sais pas pourquoi je bloque dessus.
Dans notre fichier XML, nous avons la ligne suivante :
<turtle class="edu.turtlekit2.demos.comportement.Cooperatif" number="5"/>
La classe Cooperatif hérite de Turtle, et dans cette classe nous aimerions récupérer la valeur de number (en l'occurrence 5).
Je sais qu'il existe le code suivant pour récupérer la valeur d'un attribut :
int x = this.getAttrib().getInt("number");
Sauf qu'on ne peut l'utiliser que dans les classes héritant de Observer, donc comment faire pour récupérer la valeur d'un attribut dans une classe héritant de Turtle ?
Merci de votre réponse !
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
- fmichel
- Administrator
- From: Montpellier
- Registered: 2009-03-24
- Posts: 178
- Website
Re: Récupérer la valeur d'un attribut dans une classe héritant de Turtle
Bonjour,
En fait la méthode équivalente pour la classe Turtle a un nom un peu différent : getAttributes()
donc getAttributes().getInt("number"); devrait faire l'affaire.
- SimonHV
- Member
- Registered: 2011-11-26
- Posts: 4
Re: Récupérer la valeur d'un attribut dans une classe héritant de Turtle
Merci de votre réponse. Or quand je fais ce que vous m'avez dit, j'obtiens une erreur de type NullPointerException:
Initialisation problem: {class=edu.turtlekit2.demos.comportement.Cooperatif, number=5}
java.lang.NullPointerException
java.lang.NullPointerException
at edu.turtlekit2.demos.comportement.Cooperatif.<init>(Cooperatif.java:15)
- fmichel
- Administrator
- From: Montpellier
- Registered: 2009-03-24
- Posts: 178
- Website
Re: Récupérer la valeur d'un attribut dans une classe héritant de Turtle
Cela vient du fait que l'utilisation de cette méthode n'est pas possible dans le cronstructeur (il faut que la Turtle soit intégrée au noyau) : il faut l'utiliser dans setupUp() par exemple.
Un exemple d'utilisation se trouve dans edu.turtlekit2.demos.gas.Gas
- SimonHV
- Member
- Registered: 2011-11-26
- Posts: 4
Re: Récupérer la valeur d'un attribut dans une classe héritant de Turtle
Merci de votre réponse, ça fonctionne parfaitement !