Классы перечисления ограничивают определенные аспекты своего использования и определения:
Классами перечисления является неявно Sealed
. Вы не можете задать подкласс класса перечисления, потому что выполнение так расширило бы набор.
Свойства основанных на значении классов перечисления являются неизменяемыми. Только конструктор может присвоить значения свойств. MATLAB® неявно задает атрибуты SetAccess
всех свойств, заданных основанными на значении классами перечисления как immutable
. Вы не можете установить атрибут SetAccess
ни на какое другое значение.
Все свойства, наследованные основанным на значении классом перечисления, которые не заданы как Constant
, должны иметь immutable
SetAccess
.
Свойства основанных на указателе классов перечисления изменяемы. Можно установить значения свойств на экземплярах класса перечисления. Смотрите Изменяемый Указатель по сравнению с Неизменяемыми участниками Перечисления Значения.
У участника перечисления не может быть того же имени как свойство, метод или событие, заданное тем же классом.
Перечисления не поддерживают операции (a:b
) двоеточия. Например, FlowRate.Low:FlowRate.High
вызывает ошибку, даже если класс FlowRate
выводит от числового суперкласса.
Классы, которые задают перечисления, не могут ограничить свойства того же класса к перечисляемому типу. Необходимо создать отдельный класс перечисления, чтобы ограничить значения свойств перечислением. Для получения информации об ограничении значений свойств смотрите Пример Ограниченного Свойства.