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

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

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

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

Присвойте атрибуты метода на той же линии как 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

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

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

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

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

|

Похожие темы