Атрибуты класса (в ООП это часто "поля") - диаграмма классов UML

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

Лекции Михайлова Е.М. приводилась следующая запись:

< квантор видимости >  <имя атрибута>  [кратность] : <тип атрибута> = <исходное значение> {строка-свойство}.

-- «видимость» (visibility) — качественная характеристика характеризующая возможность других объектов модели оказывать влияние

  • + – общедоступный (public).
  • # – типа защищенный (protected).
  • - – закрытый (private).
  • ~ - пакетный (package). Атрибут с этой областью видимости недоступен или невиден для всех классов за пределами пакета, в котором определен класс-владелец данного атрибута.

Кратность характеризуется двумя значениями - нижней и верхней границей =
нижняя граница .. верхняя граница]
несколько вариантов для примера=

  • [0..1] - от нуля до одного
  • [0..*] - сколько угодно
  • [1..*] = один и больше
  • [1..3,7..*] - видимо "от одного до трёх" + "семь и более" - то есть возможны оба варианта
  • 1=[1..1] - один - это от одного до одного)))))
  • *=[0..*] - "сколько угодно" - это ноль и больше - русский язык и формальная логика, короче)))))

Типы атрибутов

Тип атрибута представляет собой выражение, семантика которого определяется языком спецификации соответствующей модели .
например - далее приведены четыре атрибута некоего класса =

цвет: Соlоr = ()
имя_сотрудника [1..2] : String = Иван
видимость:Boolean  
форма:Многоугольник = прямоугольник


Подчеркивание
означает, что атрибут может принимать подмножество значений из области его значений

{Строка-свойство} – служит для указания значений атрибута, которые не могут быть изменены в программе =

заработная_плата:Currency = {$500}