Question

DUPE: privé vs public membres dans la pratique (l'importance est l'encapsulation?)

Au cours de l'écriture d'un programme en Java, j'ai abstraire quelques bibliothèques que je peux voir une utilisation possible dans des projets futurs.

Pourquoi devrais-je embêter avec la mise en accès restreint (privé / protégé) sur l'une de ces méthodes?

Il semble que cela va juste faire ma vie plus compliquée à l'avenir. Si j'utilise du public sur tout, je jamais à vous soucier de savoir si je peux appeler quelque chose d'une autre classe. Je ne l'ai jamais vu un cas dans aucun de mon code encore où il avait un sens pour moi d'utiliser quoi que ce soit, sauf public.

est-il si mal à utiliser sur tout « public »? Est-ce que je vais être frappé par les dieux Java?

Était-ce utile?

La solution

Oui, il est faux d'utiliser du public sur tout. Cela signifie que vous avez absolument aucune notion de la différence entre « ce membre fait partie d'une API publique, vous êtes censé être en mesure d'utiliser du monde extérieur, et il ne devrait pas changer » et « ce membre est une implémentation détail. Si je veux changer plus tard, je peux le faire parce que je ne sais rien du monde extérieur sera l'appeler. "

Avoir une scission claire entre l'API et la mise en œuvre est importante pour la flexibilité et la clarté de l'OMI.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top