Compris merci!


Le 2 décembre 2013 16:54, Eric Chatellier <chatellier@codelutin.com> a écrit :
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,
> 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 ?
nr est une référence sur l’équation de la population,
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 :
> pop.getNaturalDeathRate().setContent("return 0.2");
> ?
Non, c'est le même qui fait la même chose.
>
>
> par exemple pour les matrices c'est marqué:
>
> getSubMatrix()
>
Ca dépend de ce que fait la méthode.
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