Le 02/12/2013 16:19, Sigrid Lehuta a écrit :
> j'ai une question compliquée a expliquer, si vous avez le temps appelez moi,nr est une référence sur l’équation de la population,
> la voici:
>
> certaines methodes "get" renvoit l'objet lui meme et toute transformation
> faite plus tard, affecte l objet initial meme s'il est stoqué sous un autre nom...
> d'autres methodes non... comment on sait qui fait quoi?
>
> exemple:
>
> si je fais:
> Equation nr = pop.getNaturalDeathRate();
> nr.setContent("return 0.2");
>
> est ce que ca modifie l'equation Natural death rate ou seulement nr ?
appeler une méthode sur une variable applique le changement
sur l'objet vers lequel pointe la variable en mémoire.
> autrement dit, est ce que c'est different de :Non, c'est le même qui fait la même chose.
> pop.getNaturalDeathRate().setContent("return 0.2");
> ?
>Ca dépend de ce que fait la méthode.
>
> par exemple pour les matrices c'est marqué:
>
> getSubMatrix()
>
Généralement, une methode qui commence par "get" et qui ne prend aucun
parametre renvoie une valeur ou une référence sans la modifier
(comme pop.getNaturalDeathRate() renvoie l'equation actuelle).
Pour getSubMatrix(), c'est différent :
http://maven-site.nuiton.org/nuiton-matrix/nuiton-matrix/apidocs/org/nuiton/math/matrix/MatrixND.html#getSubMatrix(int[]...)
<http://maven-site.nuiton.org/nuiton-matrix/nuiton-matrix/apidocs/org/nuiton/math/matrix/MatrixND.html#getSubMatrix%28int[]...%29>
La methode a des paramètres et la documentation dit (enfin laisse entendre :-) )
qu'elle retourne une sous matrice. Donc dans ce cas une nouvelle matrice
est calculée et retournée.
Donc:
MatrixND m1 = pop.getNaturalDeathRateMatrix();
MatrixND m2 = m1.getSubMatrix(popGroup1);
m2.setValue(0, 0, 42);
m2 sera modifiée, mais pas m1.
--
Éric Chatellier - Code Lutin
Tel: 02.40.50.29.28 - http://www.codelutin.com
_______________________________________________
Isis-fish-devel mailing list
Isis-fish-devel@list.isis-fish.org
http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-devel