private ou protected?
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

private ou protected?



  1. #1
    mimi-mimi1

    private ou protected?


    ------

    Bonjour,
    quand je vois des classe, il y'en a où les attributs sont déclarée comme private, et il y'a des cas où l'on déclare les attributs comme protected. Pouvez vous me dire la différence entre les deux et quand est-ce qu'on utilise l'un ou l'autre? On dit qu'on met private aux attributs pour ne pas les changer, mais si on prend une classe vecteur par exemple, je déclare ses attributs comme private, mais dans le main je le change comme je veux, alors pourquoi private? Et quand est ce qu'on met protected?
    Je vous remercie par avance.

    -----

  2. #2
    Paraboloide_Hyperbolique

    Re : private ou protected?

    Bonjour,

    Citation Envoyé par mimi-mimi1 Voir le message
    Bonjour,
    quand je vois des classe, il y'en a où les attributs sont déclarée comme private, et il y'a des cas où l'on déclare les attributs comme protected. Pouvez vous me dire la différence entre les deux et quand est-ce qu'on utilise l'un ou l'autre? On dit qu'on met private aux attributs pour ne pas les changer,
    Les deux permettent de "protéger" les attributs concernés. Le niveau de "protection" diffère cependant entre "private" et "protected".
    Au niveau "private" (le plus élevé) seules les fonctions de la classe (et les fonctions "amies"*) ont accès aux attributs concernés.

    Au niveau "protected" (moins élevé) toutes les fonctions des classes qui héritent de la classe parent ont aussi accès aux attributs concernés de la classe parent (mais pas aux attributs "private").

    *Le fait que les fonctions "amies" aient accès aux attributs privés d'une classe fait encore couler beaucoup d'encre aujourd'hui...

    Citation Envoyé par mimi-mimi1 Voir le message
    mais si on prend une classe vecteur par exemple, je déclare ses attributs comme private, mais dans le main je le change comme je veux, alors pourquoi private? Et quand est ce qu'on met protected?
    Je vous remercie par avance.
    Ça, c'est impossible. Si vous pouvez les changer, c'est alors par l’entremise de fonctions publiques qui modifient les attributs privés.

  3. #3
    Arzhur

    Re : private ou protected?

    Citation Envoyé par Paraboloide_Hyperbolique Voir le message
    Ça, c'est impossible. Si vous pouvez les changer, c'est alors par l’entremise de fonctions publiques qui modifient les attributs privés.
    Si le main est dans la classe qui possède les attributs privés, alors tu y a accès (du moins en java).

  4. #4
    Paraboloide_Hyperbolique

    Re : private ou protected?

    Merci Arzhur de préciser ce point pour le langage java.

    Je crois cependant que mimi-mimi1 travaille en C++ à en juger par ses autres messages. (voir par exemple: http://forums.futura-sciences.com/pr...nline-c-2.html)

  5. A voir en vidéo sur Futura
  6. #5
    Bluedeep

    Re : private ou protected?

    Citation Envoyé par mimi-mimi1 Voir le message
    mais dans le main je le change comme je veux, alors pourquoi private? Et quand est ce qu'on met protected?
    Je vous remercie par avance.
    Le main est une méthode comme une autre (au moins en C++ et en C#, en Java je ne sais pas), du moins depuis le point de vue "interne" du programme; il n'est particulier que vu du lanceur. Donc son comportement vis à vis des attributs d'isolation est le même qu'une autre méthode; il a accès aux "private" de la classe où il est défini, comme n'importe quelle autre méthode de classe.

  7. #6
    pm42

    Re : private ou protected?

    C'est pareil en Java.

  8. #7
    Jack
    Modérateur

    Re : private ou protected?

    Le main est une méthode comme une autre
    En C++, main n'appartient à aucune classe. C'est donc une simple fonction qui n'a d'original que de son nom et constitue donc le point d'entrée du programme.

  9. #8
    Bluedeep

    Re : private ou protected?

    Citation Envoyé par Jack Voir le message
    En C++, main n'appartient à aucune classe. C'est donc une simple fonction qui n'a d'original que de son nom et constitue donc le point d'entrée du programme.
    Perdu occasion de me taire.

Discussions similaires

  1. C++ : Héritage, private, protected
    Par justine&coria dans le forum Programmation et langages, Algorithmique
    Réponses: 25
    Dernier message: 25/10/2012, 12h20
  2. recherche équivalent gratuit de private exe protector
    Par nanotube dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 31/01/2010, 14h21
  3. aide batch fichier private
    Par stevemsdos dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 16/01/2010, 07h44
  4. private joke ....
    Par invitebe0cd90e dans le forum Science ludique : la science en s'amusant
    Réponses: 0
    Dernier message: 15/01/2005, 00h13