Dopo aver imparato a usare correttamente private protected abstract sealed in un linguaggio come C # non ho trovato alcun motivo per rendere una variabile public mai più.
Un'interfaccia per la variabile di solito è un public metodo se si tratta di un'azione / verbo (ad esempio Car.Move() ), o se è un valore / proprietà della classe quindi io uso proprietà con un% gid% gète e un public setter. (ad esempio private che può solo cambiare alla creazione, ma accessibile in qualsiasi momento.)
Se è solo un insieme di valori, il suo campo ha ancora più senso per essere Car.Color e solo assegnabile alla creazione tramite il costruttore.
Voglio conoscere alcune situazioni in cui una pratica comune è rendere una variabile pubblica se ne hai qualcuno da condividere.