В буквальном смысле, что пытается сказать автор, это скрыть все поля как частные и разрешить манипулирование их значениями только через методы получения и установки открытых / защищенных свойств и / или методы.Эти методы, сеттеры и геттеры должны иметь логику / проверки для предотвращения нарушения целостности данных.
Скажем, у вас есть объект шахматной фигуры.У него есть поля текущей позиции char и int (скажем, H8 или A2).Во-первых, некоторые позиции не разрешены (скажем, Z90), или некоторые позиции могут быть недоступны при следующем движении из-за типа фигуры (слон не может двигаться вперед).Таким образом, если поля позиции не являются частными, класс предка может изменить их напрямую и нарушить логику / целостность.Но если вы скрываете поля позиции как закрытые и разрешаете перемещать только через такие методы, как Move(MoveType move)
, то такое повреждение данных невозможно.