Одним из преимуществ является то, что ряд платформ ищет свойства класса для привязки, а не для полей.Таким образом, непосредственное предоставление поля _x
вызовет некоторые головные боли, когда вы задаетесь вопросом, почему среда не устанавливает значение так, как вы могли бы ожидать.
Кроме того, благодаря инкапсуляции вы можете изменить то, что происходит при взаимодействии вызовас полем.Скрытие поля за свойством getter / setter позволяет вам выполнять дополнительные действия, такие как запуск при изменении значения, обновление другого внутреннего состояния или полное изменение реализации, так что это просто вызов переноса для дочернего объекта.