Indicatori di visibilità

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
Ciao, volevo sapere quando è il caso di usare un indicatore al posto degli altri. So che proprietà e metodi dichiarati con public sono accessibili dappertutto, con protected solo nella classe e in quelle che ereditano e con private solo nella classe dove sono dichiarati. Però non mi è chiaro come utilizzarli. I metodi li ho sempre dichiarati come pubblici e le proprietà di solito come protected. Ma il private dove dovrei usarlo? Io lo avrei usato al posto del protected per le proprietà ma poi ho letto che per le classi che ereditano è meglio utilizzare protected. quindi mi chiedo: il private viene usato spesso?

Spero di essermi fatto capire e che possiate chiarirmi le idee.
 
Se ti interessa approfondire puoi eventualmente consultare questo articolo dedicato all'Information Hiding
 
Se ti trovi a dover sviluppare una libreria che, dunque, presenta un'API, dichiarerai come pubblici (e dovranno rimanere immutati a meno di casi eccezionali), i metodi usati dagli altri sviluppatori, e come protetti quelli usati da classi estese (anche questi sarebbe meglio che non cambiassero nella firma e nel comportamento). Saranno privati invece i metodi usati esclusivamente da quella classe, che NON vuoi vedere estesi.
Per le proprietà, invece, la scelta è più difficile: dipende da cosa contiene la proprietà stessa. Solitamente, però, vengono dichiarate private e si espongono dei metodi per modificarle, così eviti che vengano impostati valori "illegali" (es. una stringa quando servirebbe un array).
 

Discussioni simili