Перечисления для значений свойств

Синтаксис для Определения Свойства/Перечисления

Можно ограничить значения, которые позволены для свойства членам класса перечисления. Задайте свойство, как ограничено определенным классом перечисления в определении класса с помощью этого синтаксиса:

properties
   PropName EnumerationClass
end

Этот синтаксис ограничивает значения PropName членам класса перечисления EnumerationClass.

Пример ограниченного свойства

Например, класс Days задает свойство под названием Today. Позволенные значения для свойства Today являются участниками перечисления класса WeekDays.

Класс WeekDays задает перечисления:

classdef WeekDays
   enumeration
      Monday, Tuesday, Wednesday, Thursday, Friday
   end
end

Используйте перечисления WeekDays, чтобы ограничить позволенные значения свойства Today:

classdef Days
   properties
      Today WeekDays
   end
end

Создайте объект класса Days.

d = Days;
d.Today = WeekDays.Tuesday;
d = 

  Days with properties:

    Today: Tuesday

Представление участников Перечисления с символьными Векторами

Автоматическая функция преобразования позволяет пользователям класса Days присвоить значения свойству Today или как участники перечисления, векторы char или как скаляры строки. Свойство Today ограничивается членами класса перечисления WeekDays. Поэтому можно присвоить вектор char, который представляет члена класса WeekDays.

d = Days;
d.Today = 'Tuesday';

Кроме того, можно использовать скаляр строки:

d = Days;
d.Today = "Tuesday";

Для получения дополнительной информации об ограничении значений свойств см. Проверку значений свойств и Валидацию Класса и Размера Свойства.

Была ли эта тема полезной?