45 votes

méthodes publiques dans les classes privées de package

Est-ce que cela fait une différence de marquer les méthodes comme `` dans les classes privées de paquets?

Y a-t-il une différence pratique de visibilité entre et ici?

47voto

Thomas Points 35713

Exemple d’utilisation de l’héritage :

R.java

B.java

C.java

22voto

Péter Török Points 72981

Si la classe ne doit pas être étendue par une autre sous-classe plus visible*, la seule différence est la clarté de l’intention. Déclarer tous les packages de méthodes privés rend plus difficile pour les futurs lecteurs de déterminer lesquelles des méthodes sont destinées à être appelées par d’autres classes du même package.

*ce qui n’aurait pas beaucoup de sens en tant que solution de conception pour moi, mais techniquement est néanmoins possible.

10voto

Jörn Horstmann Points 18118

Un autre cas où la méthode doit être publique est lorsque vous créez une implémentation privée de package d’une classe ou d’une interface publique. Étant donné que vous n’êtes pas autorisé à réduire la visibilité des méthodes remplacées, celles-ci doivent être publiques.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X