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

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

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

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

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

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

Класс

Описание

Abstract

логический

default = false

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

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

AllowedSubclasses

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

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

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

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

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

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

ConstructOnLoad

логический

default = false

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

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

HandleCompatible

логический

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

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

Скрытый

логический

default = false

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

InferiorClasses

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

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

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

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

Sealed

логический

default = false

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

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

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

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

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

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

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

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

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

Похожие темы

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