omcougar
Messages postés152Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention 8 octobre 2008
-
16 oct. 2006 à 10:17
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 2010
-
16 oct. 2006 à 19:20
bonjour,
j'ai bien compris (je crois) les restrictions d'utilisation qu'enjendrent les déclarations static public protected private en ce qui concerne la programmation.
Je me demandais si décraler ses varaibles "private" partout ou cela est possible rendait l'execution plus performante ou si le choix de mettre en public ou private intervenait simplement sur la "netteté" du code ?
question corollaire, suite à la programmation d'un code de plus en plus lourd, j'ai commencé à le "nettoyer" en déclarant toutes les variables des objets "private" et en y accedant en lecture/ecriture par des méthodes qui elles sont "public"... et depuis j'ai l'impression que mon code est nettement plus performant.
Je me demandais donc si récupérer / modifier les variables d'un objet via des méthodes propres à cette objet n'était pas plus performant que d'y acceder directement?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 16 oct. 2006 à 12:42
niveau perf, je ne pense pas que ce soit flagrant de déclarer des variables public ou private : de toute façon, il faudras les instancier.
Par contre, accèder aux variables par des fonctions get/set, c'est forcément plus lent car ca coûte un appel de fonction (quoique le compilo optimise peut-être cà !), mais là encore, ca ne doit pas être flagrant ! Mais niveau encapsulation des données, y'a pas photo : le code est bien plus réutilisable et surtout, bien plus maintenable car tu peux modifier le type des variables sans intervenir sur l'interface de tes classes !
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 16 oct. 2006 à 14:03
Salut,
Le fait de déclarer une variable, méthode ou class en private(ou protected) conciste à sécuriser un code face aux acces dessus, maintenant concernant les set/get leurs avantages est surtout de pouvoir effectuer un traitement générique sur l'acces à la variable exemple:
private int indiceTableau = 0;
//ici l'indice ne doit pas etre inférieur à 0
public void setIndiceTableau(int indice){
indiceTableau = (indice < 0) ? 0 : indice;
}
public int getIndiceTableau(){
return indiceTableau;
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 16 oct. 2006 à 19:20
ouaip mais quand c'est compile je crois , je ne suis pas sur que le compilateur peut optimiser le code pour les acces au variable par des methode avec une mise en memoire ...
je suis pas trop sur de ce que je dit mais bon ...
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"