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

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

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

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

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

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

Скрытый

логический

default = false

Определяет, можно ли свойство показать в списке свойств (e. g., Инспектор свойств, вызовите к 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, значение свойства не сохранено, когда объект сохранен в файл. Смотрите Сохраняют и Процесс Загрузки для Объектов для больше о сохранении объектов.

Похожие темы

Была ли эта тема полезной?