Есть еще такая концепция деления классов на "классы" и "типы данных". Классы это то, что меняет данные, а типы данных - это набор данных безо всякой логики, то есть безо всякой обработки, без методов. В этом случае как раз нужно использовать public, но в случае с Классами такое встречается крайне редко: каждый Класс старается "защитить свои инвистиции", свои
рабочие данные, и не позволить изменять их извне. Но исключения конечно есть, тот же Point.
Добавлено через 6 минут
Цитата:
|
Да про интерфейсы я как-то пропустил. Если они нужны, то да - используем акцессоры.
|
Вот как раз в контексте этой концепции ТипыДанных по определению не имеют интерфейса (что абсолютно разумно, так как они ничего не делают). И опять же, есть забавное исключение - IBitmapDrawable, маркерный интерфейс, "описывающий" не что объект делает, а что можно сделать с ним. Показательно, что он маркерный, то есть абсолютно пустой.