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

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

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

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

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

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

Класс

Описание

Abstract

logical

default = false)

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

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

AllowedSubclasses

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

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

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

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

Задайте meta.class объекты с помощью? ClassName синтаксис только.

См. Установку допустимых подклассов для получения дополнительной информации.

ConstructOnLoad

logical

default = false)

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

Смотрите Инициализируют Объекты При Загрузке для получения дополнительной информации.

HandleCompatible

logical

default = false) для классов значения

Если задано как true, этот класс может использоваться в качестве суперкласса для классов Handle. Всеми классами Handle является HandleCompatible по определению. Смотрите Указатель Совместимые Классы для получения дополнительной информации.

Hidden

logical

default = false)

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

InferiorClasses

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

Используйте этот атрибут, чтобы установить отношение приоритета среди классов. Задайте массив ячеек meta.class объекты с помощью ? оператор.

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

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

Sealed

logical

default = false)

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

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

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

Определение атрибутов

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

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

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

Приписывание синтаксиса

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

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

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

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

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

Похожие темы