Свойства фактически предотвращают разрыв кода, если все сделано правильно. Это позволяет вам изменить реализацию этого свойства, не вызывая вызывающего абонента необходимости изменять свой код или даже беспокоиться об этом.
Например, скажем, у вас есть класс Socket, который принимает номер сокета. Реализуйте как свойство, чтобы просто взять int и сохранить его.
Однако ваш начальник говорит, что вы не должны принимать номера сокетов ниже 1024. Ваша собственность может изменить это на сканирование и не принять значение.
Без изменений в коде вызывающего абонента.
Редактировать: Небольшое неправильное понимание вопроса ... Я взял свойства, чтобы означать нормальные функции доступа.