Какова мотивация для свойств? - PullRequest
3 голосов
/ 03 марта 2009

Я немного сбит с толку относительно того, почему в языках есть такие. Я программист на Java и в начале своей карьеры, поэтому Java - единственный язык, на котором я писал, с тех пор, как я начал его, на самом деле, знаете.

Так что в Java, конечно, у нас нет свойств, и мы пишем методы getThis () и setThat (...).

Что бы мы получили, имея свойства?

Спасибо.

РЕДАКТИРОВАТЬ: другой запрос: какие соглашения об именах возникают в языках со свойствами?

Ответы [ 12 ]

0 голосов
/ 03 марта 2009

Свойства предоставляют простой метод для абстрагирования деталей, лежащих в основе набора логики в объекте, до единого значения для внешнего мира.

Хотя ваше свойство может начинаться только со значения, эта абстракция разделяет интерфейс, так что его детали могут быть изменены позже с минимальным воздействием.

Общее практическое правило заключается в том, что абстракция и слабая связь - это хорошие вещи. Свойства являются шаблоном, который достигает обоих.

0 голосов
/ 03 марта 2009

Вы также можете создавать производные поля и поля только для чтения / только для записи. Большинство свойств, которые я видел в языках, в которых я работал, позволяют назначать не только простые поля, но и полные функции.

...