exponenta event banner

Атрибуты класса

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

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

classdef (Attribute1 = value1, Attribute2 = value2,...) ClassName
   ...
end
Дополнительные сведения о синтаксисе атрибутов см. в разделе Спецификация атрибутов.

Атрибуты класса

Имя атрибута

Класс

Описание

Abstract

logical

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

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

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

AllowedSubclasses

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

Список классов, которые могут включать этот класс в подкласс. Укажите подклассы как meta.class объекты в форме:

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

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

Определить meta.class с использованием ?ClassName только синтаксис.

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

ConstructOnLoad

logical

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

Если trueMATLAB ® вызывает конструктор класса при загрузке объекта из MAT-файла. Поэтому реализуйте конструктор, чтобы его можно было вызвать без аргументов без возникновения ошибки.

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

HandleCompatible

logical

(по умолчанию = false) для классов значений

Если указано как true, этот класс может использоваться в качестве суперкласса для классов дескрипторов. Все классы дескрипторов: HandleCompatible по определению. Дополнительные сведения см. в разделе Обработка совместимых классов.

Hidden

logical

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

Если true, этот класс не появляется в выходных данных superclasses или help функции.

InferiorClasses

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

Этот атрибут используется для установления отношения приоритета между классами. Укажите массив ячеек meta.class с использованием ? оператор.

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

См. Приоритет классов и доминирующий аргумент в перегруженных графических функциях.

Sealed

logical

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

Если true, этот класс не может быть подклассирован.

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

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

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

Атрибуты указаны для членов класса в classdef, properties, methods, и events блоки определения. Конкретная настройка атрибута применяется ко всем элементам, определенным в данном блоке. Можно использовать несколько properties, methods, и events для применения различных параметров атрибутов к различным членам класса.

Значения атрибутов суперкласса не наследуются

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

Синтаксис атрибута

Укажите значения атрибутов класса в скобках, разделяя каждую пару имя/значение атрибута запятой. Список атрибутов всегда следует за classdef или ключевое слово члена класса, как показано:

classdef (attribute-name = expression, ...) ClassName

   properties (attribute-name = expression, ...)
      ...
   end
   methods (attribute-name = expression, ...)
      ...
   end
   events (attribute-name = expression, ...)
      ...
   end
end

Специфичные для класса атрибуты

Некоторые классы MATLAB определяют дополнительные атрибуты, которые можно использовать только с иерархиями классов, определяющими эти атрибуты. Сведения о дополнительных атрибутах, поддерживаемых этими классами, см. в специальной документации по используемым классам.

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