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

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

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

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

Присвойте атрибуты свойства на той же строке как ключевое слово 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).

общедоступно — свободный доступ

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

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

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

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

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

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

Constant

логический

default = false

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

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

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

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

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

Dependent

логический

default = false

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

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

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

GetAccess

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

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

общедоступно — свободный доступ

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

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

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

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

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

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

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

общедоступно — свободный доступ

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

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

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

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

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

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

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

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

SetObservable

логический

default = false

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

Transient

логический

default = false

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

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

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте