Sens du mot clé protected ? - Java - Programmation
Marsh Posté le 02-12-2004 à 17:37:20
1-le mot clé protected permet de restreindre l'acces a un attribut uniquement aux sous classes de la classe en question qui le contient.
Lorsque les sous classes heritent d'une classe qui a des attributs protected ces attributs deviennent private dans cette sous classe.
2- c'est excatement l'attribut protected qu'il faut utiliser. a moins que j'ai mal compris la question
A+
Marsh Posté le 02-12-2004 à 18:18:28
je crois qu'il y a pas de reponse pour la deuxieme question.
axk47>>protected permet justement l'acces a tout le package
Marsh Posté le 02-12-2004 à 19:45:06
bon les gars, j'vous ai pê mal compris mais je pense que vous vous plantez tous les deux.
a) protected limite l'accès aux sous-classes ET au package
b) "aucun spécificateur d'accès" -> package only.
Marsh Posté le 02-12-2004 à 23:40:19
the real moins moins a écrit : bon les gars, j'vous ai pê mal compris mais je pense que vous vous plantez tous les deux. |
c'est ce que je dit
Citation : b) "aucun spécificateur d'accès" -> package only. |
non la c'est public et donc accessible partout si je me trompe pas
Marsh Posté le 02-12-2004 à 23:44:21
si, tu te trompes, putain.
(enfin, si on parle d'une classe. si on parle d'une interface, "public" ou "rien", c'est en effet public)
Marsh Posté le 02-12-2004 à 23:45:06
ha et ça aussi "Lorsque les sous classes heritent d'une classe qui a des attributs protected ces attributs deviennent private dans cette sous classe. " c'est faux, ils restent protected
Marsh Posté le 02-12-2004 à 23:50:58
bon, http://java.sun.com/docs/books/tut [...] ntrol.html
.
Marsh Posté le 06-12-2004 à 16:57:00
parce qu'il semblait dire que protected ne servait *qu'a* donner l'accès aux autres classes du package, alors que c'est ça *ET* l'acces aux sous-classes
(et que donc je pensais qu'il confondait "pas de mot clé" et protected)
.. malentendu quoi. (imprécision je dirais )
Marsh Posté le 06-12-2004 à 17:08:22
the real moins moins a écrit : uh, y'a eu du delete? |
Vi, ton lien "m'a coupé la langue" (rien a rajouter )
Marsh Posté le 06-12-2004 à 17:14:49
Pour la 2) à priori, ce n'est pas possible. La solution est peut-être de ne pas mettre ta classe dans un package (ou de la mettre dans un package où elle est le seul membre) et tu mets ta méthode ou ton attribut en protected. Et encore, vu le dernier cas du § "protected" à l'url donné par the real -- , ce n'est pas gagné... A tester.
Marsh Posté le 02-12-2004 à 17:14:49
Une petite question après avoir lu la chose...
J'ai appris que le mot clé protected permet la portee dans les sous classes et dans tout le package. Il en est de meme lorsqu'on met aucun spécificateur d'accès.
Conclusion :
1) ça sert a quoi le mot clé protected en java ?
2) Comment faire si on veut juste permettre une portee dans les sous classes mais pas en plus dans le package ?