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

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

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

Похожие темы