[Debutante] Appel d'une méthode private par l'intermédiaire d'une méthode public
5 réponses
Lea
Bonjour,
J'ai une classe qui contient une méthode public et une méthode private.
Pourquoi est-il possible d'accéder aux valeurs des données de la méthode
private en l'appelant à partir d'une méthode public ?
Pourquoi est-il possible d'accéder aux valeurs des données de la méthode private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Lea
Léa,
Pourquoi est-il possible d'accéder aux valeurs des données de la méthode private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Si j'essaie d'exécuter la méthode private à partir d'une classe externe située dans le même répertoire, je n'ai pas accès à ses données. Par contre en passant par une méthode public appelant la méthode private, c'est possible. Quelque chose m'échappe ...
Merci
Léa,
Pourquoi est-il possible d'accéder aux valeurs des données de la méthode
private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Si j'essaie d'exécuter la méthode private à partir d'une classe externe
située dans le même répertoire, je n'ai pas accès à ses données. Par
contre en passant par une méthode public appelant la méthode private,
c'est possible.
Quelque chose m'échappe ...
Pourquoi est-il possible d'accéder aux valeurs des données de la méthode private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Si j'essaie d'exécuter la méthode private à partir d'une classe externe située dans le même répertoire, je n'ai pas accès à ses données. Par contre en passant par une méthode public appelant la méthode private, c'est possible. Quelque chose m'échappe ...
Merci
no.bcausse.spam
Lea wrote:
Si j'essaie d'exécuter la méthode private à partir d'une classe externe située dans le même répertoire, je n'ai pas accès à ses données. Par contre en passant par une méthode public appelant la méthode private, c'est possible. Quelque chose m'échappe ...
si un inconnu (externe) te demande un aspirine, il n'ira pas le chercher seul dans ta pharmarcie (private), mais tu le fera pour lui (public) voila le principe -- bruno Causse http://perso.wanadoo.fr/othello
Lea <lea_809@hotmail.invalid> wrote:
Si j'essaie d'exécuter la méthode private à partir d'une classe externe
située dans le même répertoire, je n'ai pas accès à ses données. Par
contre en passant par une méthode public appelant la méthode private,
c'est possible.
Quelque chose m'échappe ...
si un inconnu (externe) te demande un aspirine, il n'ira pas le chercher
seul dans ta pharmarcie (private), mais tu le fera pour lui (public)
voila le principe
--
bruno Causse
http://perso.wanadoo.fr/othello
Si j'essaie d'exécuter la méthode private à partir d'une classe externe située dans le même répertoire, je n'ai pas accès à ses données. Par contre en passant par une méthode public appelant la méthode private, c'est possible. Quelque chose m'échappe ...
si un inconnu (externe) te demande un aspirine, il n'ira pas le chercher seul dans ta pharmarcie (private), mais tu le fera pour lui (public) voila le principe -- bruno Causse http://perso.wanadoo.fr/othello
David Molinier
Léa,
Pourquoi est-il possible d'accéder aux valeurs des données de la méthode private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Si j'essaie d'exécuter la méthode private à partir d'une classe externe située dans le même répertoire, je n'ai pas accès à ses données. Par contre en passant par une méthode public appelant la méthode private, c'est possible. Quelque chose m'échappe ...
C'est ce qu'on appelle l'encapsulation des données : tu ne souhaites pas que n'importe qui manipule directement la représentation interne de ton objet (attributs private), mais tu autorises à accéder au contenu, selon une méthode que tu fournis (publique).
Ca te permet, demain, de changer la représentation interne de ton objet, et d'adapter ta méthode publique afin qu'elle rende toujours le même service aux objets "externes" comme tu les décris.
-- David Molinier <*>
Léa,
Pourquoi est-il possible d'accéder aux valeurs des données de la
méthode private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Si j'essaie d'exécuter la méthode private à partir d'une classe externe
située dans le même répertoire, je n'ai pas accès à ses données. Par
contre en passant par une méthode public appelant la méthode private,
c'est possible.
Quelque chose m'échappe ...
C'est ce qu'on appelle l'encapsulation des données : tu ne souhaites pas
que n'importe qui manipule directement la représentation interne de ton
objet (attributs private), mais tu autorises à accéder au contenu, selon
une méthode que tu fournis (publique).
Ca te permet, demain, de changer la représentation interne de ton objet,
et d'adapter ta méthode publique afin qu'elle rende toujours le même
service aux objets "externes" comme tu les décris.
Pourquoi est-il possible d'accéder aux valeurs des données de la méthode private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Si j'essaie d'exécuter la méthode private à partir d'une classe externe située dans le même répertoire, je n'ai pas accès à ses données. Par contre en passant par une méthode public appelant la méthode private, c'est possible. Quelque chose m'échappe ...
C'est ce qu'on appelle l'encapsulation des données : tu ne souhaites pas que n'importe qui manipule directement la représentation interne de ton objet (attributs private), mais tu autorises à accéder au contenu, selon une méthode que tu fournis (publique).
Ca te permet, demain, de changer la représentation interne de ton objet, et d'adapter ta méthode publique afin qu'elle rende toujours le même service aux objets "externes" comme tu les décris.
-- David Molinier <*>
Lea
"David Molinier" a écrit dans le message de news: 421e5543$0$1253$
Léa,
Pourquoi est-il possible d'accéder aux valeurs des données de la méthode private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Si j'essaie d'exécuter la méthode private à partir d'une classe externe située dans le même répertoire, je n'ai pas accès à ses données. Par contre en passant par une méthode public appelant la méthode private, c'est possible. Quelque chose m'échappe ...
C'est ce qu'on appelle l'encapsulation des données : tu ne souhaites pas que n'importe qui manipule directement la représentation interne de ton objet (attributs private), mais tu autorises à accéder au contenu, selon une méthode que tu fournis (publique).
Ca te permet, demain, de changer la représentation interne de ton objet, et d'adapter ta méthode publique afin qu'elle rende toujours le même service aux objets "externes" comme tu les décris.
-- David Molinier <*>
Merci bcp. Léa
"David Molinier" <dmolinier@free.fr> a écrit dans le message de news:
421e5543$0$1253$8fcfb975@news.wanadoo.fr...
Léa,
Pourquoi est-il possible d'accéder aux valeurs des données de la
méthode private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Si j'essaie d'exécuter la méthode private à partir d'une classe externe
située dans le même répertoire, je n'ai pas accès à ses données. Par
contre en passant par une méthode public appelant la méthode private,
c'est possible.
Quelque chose m'échappe ...
C'est ce qu'on appelle l'encapsulation des données : tu ne souhaites pas
que n'importe qui manipule directement la représentation interne de ton
objet (attributs private), mais tu autorises à accéder au contenu, selon
une méthode que tu fournis (publique).
Ca te permet, demain, de changer la représentation interne de ton objet,
et d'adapter ta méthode publique afin qu'elle rende toujours le même
service aux objets "externes" comme tu les décris.
"David Molinier" a écrit dans le message de news: 421e5543$0$1253$
Léa,
Pourquoi est-il possible d'accéder aux valeurs des données de la méthode private en l'appelant à partir d'une méthode public ?
Pourquoi es-tu surprise que cela soit possible ?
Laurent
Si j'essaie d'exécuter la méthode private à partir d'une classe externe située dans le même répertoire, je n'ai pas accès à ses données. Par contre en passant par une méthode public appelant la méthode private, c'est possible. Quelque chose m'échappe ...
C'est ce qu'on appelle l'encapsulation des données : tu ne souhaites pas que n'importe qui manipule directement la représentation interne de ton objet (attributs private), mais tu autorises à accéder au contenu, selon une méthode que tu fournis (publique).
Ca te permet, demain, de changer la représentation interne de ton objet, et d'adapter ta méthode publique afin qu'elle rende toujours le même service aux objets "externes" comme tu les décris.