Abus de "protected" dans les classes ?

Signaler
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
-
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
-
Salut cher lecteur,

Voici un exemple de ce qu'on voit assez souvent dans les codes, mais dont je ne saisi pas l'utilité:

Dans une classe, protection des 3 vecteurs:

private :
D3DXVECTOR3 camera;
D3DXVECTOR3 cible;
D3DXVECTOR3 rotation;

Puis pour permettre aux fonctions n'appartenant pas a la classe d'y acceder, les fonctions publiques (dans la meme classe bien sur):

public:
D3DXVECTOR3* GetCamera(void) { return &camera;}
D3DXVECTOR3* GetCible(void) { return &cible;}
D3DXVECTOR3* GetRotation(void) { return &rotation;}

Pourquoi ne pas mettre directement les 3 vecteurs en public pour y acceder sans passer par des fonctions extravagantes ?
Quels sont les avantages des 2 metohdes ?

Comment sont compilées de telles fonctions ? Est-ce rapide de passer par elles ?

Merci
A voir également:

4 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
si elles sont declaré dans le corps de la classe, oui
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
1
Il faut declarer le plus de variable possible en protected ?
Dans quel cas est-ce reellement avantageux ?
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
ben en private surtout, ca sert a cacher/interdir l'acces de cette variable a l'utilisateur, par exemple si tu fait une classe tableau il est utile de mettre sa taille en private vu que sa pourrait tt foutre en l'air si l'utilisateur y touche

tu ten sert comme une protection, quand c'est necessaire

dans un moteur 3d beaucoup de classe de soutiens on la totalité de leur attributs publique
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
1
Ok merci beaucoup djl.