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

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

Все классы поддерживают атрибуты, перечисленные в следующей таблице. Атрибуты позволяют вам изменить поведение класса. Значения атрибута применяются к классу, заданному в блоке 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

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

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

Hidden

logical

default = false

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

InferiorClasses

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

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

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

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

Sealed

logical

default = 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 задают дополнительные атрибуты, которые можно использовать только с иерархиями классов, которые задают эти атрибуты. См. определенную документацию для классов, которые вы используете для получения информации о любых дополнительных атрибутах, поддержанных теми классами.

Похожие темы