exponenta event banner

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

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

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

Задание атрибутов свойств

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

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

Например, дайте Data собственность private доступ:

properties (Access = private)
   Data
end

Дополнительные сведения о синтаксисе атрибутов см. в разделе Спецификация атрибутов.

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

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

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

Имя атрибута

Класс

Описание

AbortSet

логичный

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

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

Для классов дескрипторов, настройка 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, и это свойство класса дескриптора, то можно создать прослушиватели для доступа к этому свойству. Прослушиватели вызываются при каждом запросе значений свойств. См. раздел События набора свойств и запроса

Hidden

логичный

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

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

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

NonCopyable

логичный

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

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

Можно задать NonCopyable кому true только в классах дескрипторов.

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

PartialMatchPriority

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

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

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

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

SetAccess

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

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

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

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

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

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

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

Список классов, для которых задан доступ к этому свойству. Укажите классы как meta.class объекты в форме:

  • Сингл meta.class объект

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

См. раздел Доступ к членам класса

SetObservable

логичный

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

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

Transient

логичный

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

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

Атрибуты инфраструктуры

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

Связанные темы