meta.method class

Пакет: meta
Суперклассы: meta.MetaData

Сведения о методе класса

Описание

The meta.method класс предоставляет информацию о методах MATLAB® классы. Свойства meta.method класс соответствует атрибутам метода и другой информации, которая задается синтаксически в определении класса. Все свойства доступны только для чтения.

The meta.method класс является handle класс.

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

Abstract
true
ConstructOnLoad
true

Для получения информации об атрибутах класса см. раздел «Атрибуты класса».

Создание

Вы не можете создать экземпляр meta.method объект непосредственно. Получите meta.method объект из meta.class MethodList свойство, которое содержит массив meta.method объекты, по одному для каждого метода класса.

Например, в следующем коде замените ClassName с именем класса, методы которого необходимо запросить:

mco = ?ClassName;
mlist = mco.MethodList;
mlist(1).Name; % name of first method in the list

Получение meta.class объект из образца класса, используйте metaclass функция:

mco = metaclass(obj);

Свойства

расширить все

Имя метода возвращается как вектор символов.

Типы данных: char

В настоящее время не используется для сбора информации о классе из комментариев.

Типы данных: char | string

В настоящее время не используется для сбора информации о классе из комментариев.

Типы данных: char | string

The Access атрибут управляет тем, какой код имеет разрешение на вызов этого метода.

  • public - неограниченный доступ

  • protected - доступ от методов в классе или подклассах

  • private - доступ только классовыми методами (не из подклассов)

  • Список классов, имеющих доступ к этому методу, заданный как meta.class объекты в форме:

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

    • Массив ячеек meta.class объекты. Пустой массив ячеек, {}, то же, что и private доступ.

Пример: method (Access = private)

Типы данных: enumerated

Является ли метод статическим, возвращается как логический true или false. Когда trueметод не зависит от объекта класса и не требует объекта в качестве входных данных. Вызовите статические методы, используя имя класса вместо объекта:

classname.methodname()

Или с образцом класса, как любой метод:

o.methodname()

См. Статические методы

Пример: method (Static)

Типы данных: logical

Метод абстрактный, возвращается как логический true или false. Если trueметод не имеет реализации, но метод имеет синтаксическую линию, которая может включать аргументы. Подклассы реализуют метод, следующий за сигнатурой абстрактного метода.

  • Метод не содержит function или end ключевые слова, только синтаксис функции (например [a,b] = myMethod(x,y))

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

  • Метод может иметь комментарии после синтаксической линии.

Пример: method (Abstract)

Типы данных: logical

Можно ли переопределить этот метод, вернуть его как логический true или false. Если trueметод не может быть переопределен в подклассе. Попытка задать метод с таким же именем в подклассе приводит к ошибке.

Пример: method (Sealed)

Типы данных: logical

Этот метод скрыт, возвращается как логический true или false. Когда falseимя метода отображается в списке методов, отображаемых с помощью methods или methodsview команды. Если установлено значение trueимя метода не включается в эти списки или при отображении объекта в командном окне.

Типы данных: logical

Имена входных параметров, используемых в сигнатуре функции, возвращаются в виде вектора символов или массива ячеек из векторов символов.

Типы данных: char | cell

Имена выходных аргументов, используемых в сигнатуре функции, возвращаются в виде вектора символов или массива ячеек из векторов символов.

Типы данных: char | cell

Класс, определяющий этот метод, возвращенный как meta.class объект, представляющий определяющий класс. Определяющий класс всегда является наиболее специфическим классом с точки зрения meta.method объект. Поэтому, если подкласс переопределяет унаследованный метод, то определяющий класс для подкласса meta.method объект является подклассом. Точно так же определяющий класс для суперкласса meta.method объект является суперклассом.

Типы данных: meta.class

Примеры

свернуть все

Использование meta.method данные для получения информации о методе копирования matlab.mixin.Copyable класс.

mc =?matlab.mixin.Copyable;
copyInfo = findobj(mc.MethodList,"Name","copy")
copyInfo = 

  method with properties:

                   Name: 'copy'
            Description: ''
    DetailedDescription: ''
                 Access: 'public'
                 Static: 0
               Abstract: 0
                 Sealed: 1
                 Hidden: 0
             InputNames: {'rhs1'}
            OutputNames: {'lhs1'}
          DefiningClass: [1×1 meta.class]
Введенный в R2008a