Domanda

DUPE: privata vs. pubblica membri nella pratica (quanto è importante l'incapsulamento?)

Nel corso di scrivere un programma in Java, ho sottratto alcune librerie che posso vedere un possibile utilizzo per progetti futuri.

Perché dovrei perdere tempo con l'impostazione accesso limitato (privato / protetta) su uno di questi metodi?

Sembra che questo sarà solo rendere la mia vita più complicata in futuro. Se uso pubblico su tutto, non potrò mai bisogno di preoccuparsi se posso chiamare qualcosa da qualche altra classe. Non ho mai visto un caso in qualsiasi del mio codice ancora dove ha fatto alcun senso per me di utilizzare nulla, tranne pubblico.

E 'così sbagliato usare 'pubblico' su tutto? Sto per essere colpiti dagli dei Java?

È stato utile?

Soluzione

Sì, è sbagliato usare pubblico su tutto. Significa che avete assolutamente alcun concetto della differenza tra "questo utente è parte di un'API pubblica, ci si aspetta di essere in grado di utilizzarlo dal mondo esterno, e non dovrebbe cambiare" e "a questo utente è un'implementazione dettagli. Se voglio cambiare in un secondo momento, posso farlo perché non so nulla dal mondo esterno sarà definendolo ".

Avere una chiara divisione tra API e implementazione è importante per la flessibilità e chiarezza IMO.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top