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

Цель Атрибутов свойств

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

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

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

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

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

properties (Access = private)
   Data
end

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

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

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

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

Название атрибута

Класс

Описание

AbortSet

логический

default = false

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

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

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

Abstract

логический

default = 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

логический

default = false

Установите на true если вы хотите только одно значение для этого свойства во всех экземплярах класса:

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

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

  • SetAccess проигнорирован.

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

Dependent

логический

default = false

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

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

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

GetAccess

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

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

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

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

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

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

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

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

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

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

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

GetObservable

логический

default = false

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

Hidden

логический

default = false

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

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

NonCopyable

логический

default = false

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

Можно установить NonCopyable к true только в классах Handle.

Для получения дополнительной информации смотрите Exclude Properties из Копии

SetAccess

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

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

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

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

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

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

Смотрите изменяемые и неизменяемые свойства

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

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

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

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

SetObservable

логический

default = false

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

Transient

логический

default = false

Если true, значение свойства не сохранено, когда объект сохранен в файл. Смотрите Сохраняют и Процесс Загрузки для Объектов для больше о сохранении объектов.

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

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

Похожие темы