Названные значения

Виды предопределенных имен

MATLAB® поддерживает два вида предопределенных имен:

  • Constant Properties

  • Перечисления

Constant Properties

Используйте постоянные свойства когда это необходимо набор связанных постоянных значений, значения которых могут принадлежать различным типам (числовые значения, символьные строки, и так далее). Задайте свойства с постоянными значениями путем установки атрибута свойства Constant. Ссылочные постоянные свойства по наименованию каждый раз, когда вам нужен доступ к тому особому значению.

Смотрите Define Class Properties с Постоянными значениями для получения дополнительной информации.

Перечисления

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

Можно вывести классы перечисления от других классов, чтобы наследовать операции суперкласса. Например, если вы задаете класс перечисления, который разделяет MATLAB на подклассы числовой класс как double или int32, класс перечисления наследовал все математические и реляционные операции, которые MATLAB задает для тех классов.

Используя перечисления вместо символьных строк, чтобы представлять значение, такое как цвета ('red'), может привести к большему количеству читаемого кода потому что:

  • Можно сравнить участников перечисления с == вместо того, чтобы использовать strcmp

  • Перечисления поддерживают информацию о типе, векторы char не делают. Например, передавая вектор char 'red' функциям означает, что каждая функция должна интерпретировать то, что означает 'red'. Если вы задаете красный как перечисление, фактическое значение 'red' может измениться (от [1 0 0] до [.93 .14 .14], например), не обновляя каждую функцию, которая принимает цвета, как вы были бы, если вы задали цвет как вектор char 'red'.

Задайте перечисления путем создания блока enumeration в определении класса.

Смотрите Задают Классы Перечисления для получения дополнительной информации.

Методы для определения перечислений

Перечисления позволяют вам задать имена, которые представляют сущности, полезные для вашего приложения, не используя числовые значения или символьные строки. Все перечисления поддерживают операции равенства и неравенства. Поэтому switch, if и несколько функций сравнения как isequal и ismember работают с участниками перечисления.

Можно задать классы перечисления способами, которые являются самыми полезными для приложения, как описано в следующих разделах.

Простые перечислимые имена

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

Смотрите класс WeekDays в Классе Перечисления и Задавать Методы в разделах Классов Перечисления.

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

Классы перечисления, которые разделяют MATLAB на подклассы встроенные классы, наследовали большинство поведений тех классов. Например, класс перечисления, выведенный от класса double, наследовал математические, реляционные, и операции присвоения, которые работают с переменными класса.

Перечисления не поддерживают двоеточие (:) оператор, даже если суперкласс делает.

Перечисления со свойствами для членских данных

Классы перечисления, которые не разделяют MATLAB на подклассы встроенные числовые и логические классы, могут задать свойства. Эти классы могут задать конструкторов, которые устанавливают значения уникального свойства каждого участника.

Конструктор может сохранить входные параметры в значениях свойств. Например, класс Color может задать цвет участника перечисления Red с три (Красный, Зеленый, Синий) значения:

enumeration
   Red (1,0,0)
end

Похожие темы

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