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

Цель атрибутов метода

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

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

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

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

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

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

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

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

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

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

Класс

Описание

Abstract

logical Default = 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 Default = false

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

Sealed

logical Default = false

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

Static

logical Default = false

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

Статические методы предоставляют больше информации.

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

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

Смотрите также

|

Похожие темы