Атрибуты свойств

Назначение атрибутов свойств

Установка атрибутов в определении класса позволяет настраивать поведение свойств в определенных целях. Управляйте такими характеристиками, как доступ, хранение данных и видимость свойств путем установки атрибутов. Подклассы не наследуют атрибуты представителей суперкласса.

Определение атрибутов свойств

Присвойте атрибуты свойств в той же линии, что и properties ключевое слово:

properties (Attribute1 = value1, Attribute2 = value2,...)
   ...
end

Для примера дайте Data свойства private доступ:

properties (Access = private)
   Data
end

Для получения дополнительной информации о синтаксисе атрибутов см. «Спецификация атрибута».

Таблица атрибутов свойств

Все свойства поддерживают атрибуты, перечисленные в следующей таблице. Значения атрибутов применяются ко всем свойствам, заданным в properties...end кодовый блок, который задает значения, отличные от значений по умолчанию.

Атрибуты свойств

Имя атрибута

Класс

Описание

AbortSet

логичный

по умолчанию = false

Если true, MATLAB® не устанавливает значение свойства, если новое значение совпадает с текущим значением. MATLAB не вызывает метод набора свойств, если он существует.

Для классов handle, установка AbortSet на true также препятствовать срабатыванию свойств PreSet и PostSet события.

Смотрите назначение, когда значение свойства не изменено

Abstract

логичный

по умолчанию = false

Если trueсвойство не имеет реализации, но конкретный подкласс должен переопределить это свойство без Abstract устанавливается в true.

  • Абстрактные свойства не могут задать набор или получить методы доступа. См. «Методы доступа к свойствам».

  • Абстрактные свойства не могут задать начальные значения. См. Назначение значения по умолчанию.

  • Все подклассы должны задавать те же значения, что и суперкласс для свойства SetAccess и GetAccess атрибуты.

  • Abstract=true использовать с атрибутом класса Sealed=false (значение по умолчанию).

Access (только запись, невозможно запросить это meta.property свойство. Использование GetAccess и SetAccess в запросах.)

  • перечисление, по умолчанию = public

  • meta.class объект

  • массив ячеек meta.class объекты

Использование Access для установки обоих SetAccess и GetAccess к тому же значению. Запросите значения SetAccess и GetAccess непосредственно (не Access).

public - неограниченный доступ

protected - доступ из класса или подклассов

private - доступ только для членов класса (не для подклассов)

Список классов, которые получили и установили доступ к этому свойству. Задайте классы как meta.class объекты в форме:

  • Одно meta.class объект

  • Массив ячеек meta.class объекты. Пустой массив ячеек, {}, то же, что и private доступ.

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

Constant

логичный

по умолчанию = false

Установите значение true если требуется только одно значение для этого свойства во всех образцах класса:

  • Подклассы наследуют постоянные свойства, но не могут их изменить.

  • Constant свойства не могут быть Dependent.

  • SetAccess игнорируется.

Дополнительные сведения см. в разделе «Определение свойств классов с постоянными значениями».

Dependent

логичный

по умолчанию = false

Если false, значение свойства сохранено в объекте. Если true, значение свойства не сохранено в объекте. Функции set и get не могут получить доступ к свойству путем индексации в объект с помощью имени свойства.

MATLAB не отображает в командном окне имена и значения Dependent свойства, которые не определяют метод get (отображаются только скалярные объекты).

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

GetAccess

перечисление

по умолчанию = public

public - неограниченный доступ

protected - доступ из класса или подклассов

private - доступ только для членов класса (не из подклассов)

Перечислите классы, которые имеют доступ к этому свойству. Задайте классы как meta.class объекты в форме:

  • Одно meta.class объект

  • Массив ячеек meta.class объекты. Пустой массив ячеек, {}, то же, что и private доступ.

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

MATLAB не отображает в командном окне имена и значения свойств, имеющих protected или private GetAccess или свойства, чьи Hidden атрибут true.

struct функция задает поля для всех свойств при преобразовании объектов в structs.

GetObservable

логичный

по умолчанию = false

Если true, и это свойство класса handle, тогда можно создать прослушиватели для доступа к этому свойству. Прослушиватели вызываются каждый раз, когда запрашиваются значения свойств. Смотрите события набора свойств и запросов

Hidden

логичный

по умолчанию = false

Определяет, можно ли отобразить свойство в списке свойств (например, Property Inspector, вызов set или get, и т.д.).

MATLAB не отображает в командном окне имена и значения свойств, Hidden атрибут true или свойства, имеющие protected или private GetAccess.

NonCopyable

логичный

по умолчанию = false

Определите, можно ли копировать значение свойства при копировании объекта.

Можно задать NonCopyable на true только в классах handle.

Для получения дополнительной информации смотрите Исключить свойства из копирования

PartialMatchPriority

Положительное целое число

по умолчанию = 1

Используйте только с подклассами matlab.mixin.SetGet. Задайте относительный приоритет частичных совпадений имен свойства, используемых в set и get методы.

Для получения дополнительной информации смотрите Задать приоритет для соответствия частичных Имен свойства.

SetAccess

перечисление

по умолчанию = public

public - неограниченный доступ

protected - доступ из класса или подклассов

private - доступ только для членов класса (не из подклассов)

immutable - свойство может быть задано только в конструкторе.

Смотрите свойства, содержащие объекты и мутабельные и неизменяемые свойства

Перечислите классы, которым был задан доступ к этому свойству. Задайте классы как meta.class объекты в форме:

  • Одно meta.class объект

  • Массив ячеек meta.class объекты. Пустой массив ячеек, {}, то же, что и private доступ.

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

SetObservable

логичный

по умолчанию = false

Если true, и это свойство класса handle, тогда можно создать прослушиватели для доступа к этому свойству. Прослушиватели вызываются каждый раз, когда значения свойств изменяются. Смотрите события набора свойств и запросов

Transient

логичный

по умолчанию = false

Если true, значение свойства не сохраняется, когда объект сохранен в файле. Дополнительные сведения о сохранении объектов см. в разделе «Сохранение и загрузка процесса для объектов».

Атрибуты среды

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

Похожие темы