Sens du mot clé protected ?

Sens du mot clé protected ? - Java - Programmation

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 ?  :heink:  
2) Comment faire si on veut juste permettre une portee dans les sous classes mais pas en plus dans le package ?  :??:  

Reply

Marsh Posté le 02-12-2004 à 17:14:49   

Reply

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+
 

Reply

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 ;)

Reply

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.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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.
 
a) protected limite l'accès aux sous-classes ET au package


 
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

Reply

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)


Message édité par the real moins moins le 02-12-2004 à 23:47:04

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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 [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-12-2004 à 23:50:58    

Reply

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 :o )

Reply

Marsh Posté le 06-12-2004 à 16:57:20    

uh, y'a eu du delete?

Reply

Marsh Posté le 06-12-2004 à 16:57:20   

Reply

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 ;))

Reply

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed