I membri privati sono più utili? [duplicare]

0

I punti di controllo e i punti di interruzione dei dati consentono di osservare le modifiche di un valore in memoria in molte lingue.

Gran parte della giustificazione che ho visto per getter e setter e variabili private dipende dai getter e setter che sono chiari punti in cui è possibile impostare i punti di interruzione.

Se i punti di controllo e i punti di interruzione dei dati rendono i punti di interruzione su getter e setter un punto controverso, dovrei usare membri privati nel mio codice più se mi fido degli altri programmatori del mio team?

    
posta calben 21.07.2015 - 17:50
fonte

2 risposte

4

Immagino tu voglia dire "sbarazzarsi degli accessor e rendere pubblici i membri privati" ... beh, dal punto di vista del design, un getter / setter non sta facendo molto di più di una variabile pubblica, solo con più livelli.

Ora, un buon progetto di classe non dovrebbe nemmeno iniziare a considerare l'esposizione di una variabile, aggiunge invece metodi che si applicano allo stato interno dell'oggetto (detto stato viene espresso in termini di una o più variabili) per eseguire operazioni logiche operazioni sull'oggetto.

Quindi i getter e i setter sono davvero un odore e dovrebbero essere rimossi. Se pensi a una classe come un fascio di variabili, allora non stai pensando giusto, risolvilo prima.

Una volta risolto, non troverai comunque getter o setter e tutte le variabili saranno private. Quindi puoi inserire i tuoi breakpoint sui metodi che operano sulla classe.

    
risposta data 21.07.2015 - 18:00
fonte
0

Getter e setter non hanno nulla a che fare con i punti di interruzione, anche se potrebbero essere utili a questo proposito.

Sono progettati per consentire al client di ottenere e modificare i membri di dati privati di una classe, mentre incapsulare ciò che la classe effettivamente fa ai dati a porte chiuse.

    
risposta data 21.07.2015 - 17:52
fonte

Leggi altre domande sui tag