Одной из важных частей объектно-ориентированного программирования является инкапсуляция, но общедоступные свойства / поля имеют тенденцию нарушать это en капсула. При каких обстоятельствах общедоступное свойство или поле действительно имеет смысл?
Примечание: я использую только термин «свойство» или «поле», потому что терминология зависит от языка. В общем, я имею в виду переменную, принадлежащую объекту, к которому можно получить доступ и установить извне.