OVH Cloud OVH Cloud

Fonctions Get et Set

14 réponses
Avatar
Korchkidu
Bonjour,

J'ai dernierement entendu qu'il etait preferable (aux exceptions pres
evidemment) de remplacer les membres publiques par des membres prives
et d'ajouter des accesseurs Get et Set. Est-ce vrai ? Pour quelles
raisons ?

D'avance merci pour vos eclaircissments
K.

10 réponses

1 2
Avatar
Fabien LE LEZ
On 4 Aug 2006 09:31:51 -0700, "Korchkidu" :

J'ai dernierement entendu qu'il etait preferable (aux exceptions pres
evidemment) de remplacer les membres publiques par des membres prives


Oui.

et d'ajouter des accesseurs Get et Set.


Pas forcément.

<http://www.gotw.ca/gotw/070.htm>

Avatar
Korchkidu
J'ai dernierement entendu qu'il etait preferable (aux exceptions pres
evidemment) de remplacer les membres publiques par des membres prives


Oui.

et d'ajouter des accesseurs Get et Set.


Pas forcément.
Cad ? Tu peux detailler un peu ton "pas forcement" stp ? Si un membre

est publique a l'origine, faut bien mettre des accesseurs si on le rend
prive non ?

Merci de ton aide...

K.


Avatar
Loïc Joly
J'ai dernierement entendu qu'il etait preferable (aux exceptions pres
evidemment) de remplacer les membres publiques par des membres prives


Oui.


et d'ajouter des accesseurs Get et Set.


Pas forcément.


Cad ? Tu peux detailler un peu ton "pas forcement" stp ? Si un membre
est publique a l'origine, faut bien mettre des accesseurs si on le rend
prive non ?


Non.

Tu peux aussi vouloir qu'il ne soit pas accessible, ou juste accessible
en lecture, ou juste accessible en écriture.

Ce qui compte, c'est d'abord l'interface publique de ta classe. Ecris la
sans te préocuper des variables membres que tu supposes que son
implémentation aura.

Quand tu écriras l'implémentation, il se peut qu'une fonction publique
de ta classe soit un simple accesseur vers une donnée membre, mais c'est
un pur fait du hasard, et ça peut changer à la prochaine version de
l'implémentation. Ca n'a en fait aucune importance.


--
Loïc



Avatar
Korchkidu

Tu peux aussi vouloir qu'il ne soit pas accessible,
Dans ce cas, il aurait ete prive des le depart je pense...


ou juste accessible
en lecture, ou juste accessible en écriture.
Ah ok, ca fait plus de sens. Mais du coup, on n'a plus le meme

"comportement" que qd il etait public.

K.

Avatar
Siguisbo Calliope


Tu peux aussi vouloir qu'il ne soit pas accessible,


Dans ce cas, il aurait ete prive des le depart je pense...


ou juste accessible
en lecture, ou juste accessible en écriture.


Ah ok, ca fait plus de sens. Mais du coup, on n'a plus le meme
"comportement" que qd il etait public.

K.



Fabien t'as déjà donné un lien où tout cela est expliqué,
http://www.gotw.ca/gotw/070.htm, et que Loïc Joly a résumé par "ce qui
compte c'est l'interface publique de la classe". La il me semble que tu
te soucies d'un détail d'implémentation.

Si,-


Avatar
Fabien LE LEZ
On 5 Aug 2006 04:02:23 -0700, "Korchkidu" :

Cad ? Tu peux detailler un peu ton "pas forcement" stp ?


Herb Sutter l'a détaillé bien mieux que je ne saurais le faire, dans
la page dont je t'ai donné le lien.

En passant, profites-en pour lire tous les GOTW, c'est une mine d'or.
Tu peux même acheter les deux livres "Exceptional C++" et "More
Exceptional C++".

Avatar
Manuel Zaccaria
Fabien LE LEZ a écrit:

Herb Sutter l'a détaillé bien mieux que je ne saurais le faire, dans
la page dont je t'ai donné le lien.

En passant, profites-en pour lire tous les GOTW, c'est une mine d'or.
Tu peux même acheter les deux livres "Exceptional C++" et "More
Exceptional C++".


"Exceptional C++" a même été traduit en français sous le titre :
"Mieux programmer en C++ - 47 problèmes pratiques résolus".
Editions Eyrolles: ISBN 2-212-09224-5

Excellent livre.


Manuel

Avatar
Fabien LE LEZ
On Sat, 5 Aug 2006 22:50:00 +0200, "Manuel Zaccaria"
:

"Exceptional C++" a même été traduit en français sous le titre :


Dans quel état, la traduction ?
J'ai vu tellement de traductions où il faut re-traduire pas mal de
phrases mot à mot en anglais pour saisir le sens, que j'ai une
sérieuse tendance à me méfier.

Avatar
Sylvain
Fabien LE LEZ wrote on 05/08/2006 22:52:

Dans quel état, la traduction ?
J'ai vu tellement de traductions où ...


"tellement" !?!

tu devrais vendre tes services !..
pour rappel msg ID <e6bhv9$qf1$

Sylvain.

Avatar
Manuel Zaccaria
Fabien LE LEZ a écrit:

Dans quel état, la traduction ?
AMHA, elle est très bonne...


J'ai vu tellement de traductions où il faut re-traduire pas mal de
phrases mot à mot en anglais pour saisir le sens, que j'ai une
sérieuse tendance à me méfier.
...mais ça reste toujours subjectif.



Manuel

1 2