Член - это общий термин (вероятно, возникший в C ++ , но также определенный в Java ), используемый для обозначения компонента класса. Свойство - это широкое понятие, используемое для обозначения определенной характеристики класса, которая после создания экземпляра поможет определить состояние объекта.
Следующие отрывки, извлеченные из «Объектно-ориентированный анализ и проектирование» от Грейди Буч , помогают прояснить предмет. Во-первых, важно понимать понятия состояния и поведения:
Состояние объекта охватывает все (обычно статические) свойства объекта плюс текущие (обычно динамические) значения каждого из этих свойств . Под свойствами мы понимаем совокупность атрибутов объекта и отношений с другими объектами.
Поведение - это то, как объект действует и реагирует, с точки зрения изменений его состояния и передачи сообщений (методы) ; внешне видимая и проверяемая активность объекта.
Итак, поведение объекта зависит от доступных операций и его состояния (свойств и их текущих значений). Обратите внимание, что ООП является довольно общим в отношении определенной номенклатуры, так как она сильно варьируется от языка к языку:
Поле терминов (Object Pascal), переменная экземпляра (Smalltalk), объект-член (C ++) и слот (CLOS) являются взаимозаменяемыми , что означает хранилище для части состояния объекта. В совокупности они составляют структуру объекта.
Операция над объектом, определенная как часть объявления класса. Термины сообщение (Smalltalk), метод (многие языки OO), функция-член (C ++) и операция обычно взаимозаменяемы.
Но введенная автором запись точна:
Атрибут обозначает часть совокупного объекта и поэтому используется во время анализа и проектирования для выражения особого свойства класса. Используя не зависящий от языка синтаксис, атрибут может иметь имя, класс или оба, и, необязательно, выражение по умолчанию: A:C=E
.
Операция обозначает некоторую услугу, предоставляемую классом. Операции (...) отличаются от атрибутов добавлением скобок или предоставлением полной подписи операции, состоящей из возвращаемого класса, имени и формальных аргументов (если есть): R N(Arguments)
Таким образом, вы можете думать о членах как о всем, что составляет класс, а свойствах - как о членах (атрибутах), которые совместно определяют структуру класса, а также его связи с другими классами. Когда создается экземпляр класса, значения присваиваются его свойствам для определения состояния объекта.
Приветствия