exponenta event banner

Атрибуты метода

Назначение атрибутов метода

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

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

Назначение атрибутов метода в той же строке, что и methods ключевое слово:

methods (Attribute1 = value1, Attribute2 = value2,...)
   ...
end

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

Таблица атрибутов метода

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

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

Атрибуты метода

Имя атрибута

Класс

Описание

Abstract

logical По умолчанию = false

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

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

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

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

Access

  • перечисление, по умолчанию = public

  • meta.class объект

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

Определяет, какой код может вызывать этот метод:

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

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

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

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

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

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

    См. раздел Доступ к членам класса

Hidden

logical По умолчанию = false

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

Sealed

logical По умолчанию = false

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

Static

logical По умолчанию = false

Укажите как true для определения метода, который не зависит от объекта класса и не требует аргумента объекта. Используйте имя класса для вызова метода: classname.methodname или экземпляр класса: obj.methodname

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

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

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

См. также

|

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