Protected vs private

cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007 - 15 juil. 2003 à 23:29
cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007 - 16 juil. 2003 à 17:41
Bon cte question la jlai jamais posé :) ....

c'est quoi la différence entre une variable ou fonction protected et private ... (je c ce que c'est protected mais c'est le private qui me chicote ... en vb private c'est que la variable ne peux pas sortir du code du fichier qu'elle est déclarer mais en c++ j'en ai aucune espece d'id ....

Note : les privates sont meme pos éfleurer dans mon tchit book ...

Merci

@+ Arkko

5 réponses

efetel Messages postés 5 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 16 juillet 2003
16 juil. 2003 à 01:34
La difference n'est tres evidente c'est meme pour moi une question de philosophie.

en gros le protected s'utilise surtout quand tu veux faire de la derivation dans ce cas tes classes derivee connaisse la partie publique et la partie protected de ta classe de base et par contre ignore completement la partie private.

en gros si tu veux pas t'embeter pour faire du code propre et avec un bon design tu met tout dans public (tres bourrin et imonde) ou alors tu separe entre protected et public.

personelement j'essaye d'aller un peu plus loin et j'applique les regles suivante :

1- toute les variables de la classe sont private !
2- dans le public je ne met que le strict necessaire et l'utilisation de la classe (en particulier si ta classe n'est pas un objet mais un algorithme un constructeur, un destructeur et une fonction execute suffisent!.

3- en rpotected toute les sous focntions utiles pour les classes derives et les focntions declaree dans publique.

4- je declare des fonction inline soit dans publique soit dans protected (selon le besoin) pour acceder aux membre de la classe.

5- je declare le maximum de fonctions const!!!!!!

Voila c'est a peu pres tout .... en gros imagine toujours que ta classe va etre utilise par le con du village et definit alors le design minimun ou on peut faire le moins de degats.

Cordialement
E.
0
cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007
16 juil. 2003 à 04:53
euh .. et const lol c koi :P!!!
0
cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007
16 juil. 2003 à 04:58
En resume les privates servent pas a grand chose .... je vais me servir des public et protected comme avant :) car je comprend pas trop l'avantage d'utiliser private ,.
0
efetel Messages postés 5 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 16 juillet 2003
16 juil. 2003 à 17:38
le mot const te permet de specifier si quelque chose est constant ou pas
il y a different cas celui auquel je pensais :

1- la fonction const :
exemple :
class A {
public :
A() // ne peut jamais etre const 
~A() // non plus
....
toto() const;
}

dans ce cas toto() ne peut pas modifier les membre de la classe A.
Comme ca ca ne parait pas tres utile mais :

1- ca permet de savoir quand tu utilise une classe que tu m'a pas ecrite ce qui change ou pas et donc de prendre des precautions ou pas .. mine de rien ca peux t'eviter de faire des tests inutiles ... et donc de gagner du temps.

2-
une fonction const ne peux pas appeler de fonction non-const ... donc si quelqu'un fait un beau code celui ci peut etre bloquer pas un code mal designer..... ca m'est deja arriver de devoir sacrifier mon design et j'aime pas ca .

Pour le mot cle cosnt il y a d'autre utilisation mais vaux mieux les voir en programmant..

Cordialement
E.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007
16 juil. 2003 à 17:41
Public : Membre de la classe accessible depuis l'extérieur de la classe.

Protégé : Membre de classe accessible aux autres membres de la meme classe et aux membres de n'importe sous-classe. Les membres protégés ne sont pas accessible publiquement.

Privé : membre de classe accesible seulement aux autres membres de la meme classe

....
@+ Arkko
Merci a ceux qui ont repondu :P
0
Rejoignez-nous