exponenta event banner

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

Что такое статические методы

Статические методы связаны с классом, но не с определенными экземплярами этого класса. Эти методы не требуют объекта класса в качестве входного аргумента. Поэтому можно вызывать статические методы без создания объекта класса.

Зачем определять статические методы

Статические методы полезны, если не требуется создавать экземпляр класса перед выполнением некоторого кода. Например, предположим, что требуется настроить среду MATLAB ® или использовать статический метод для вычисления данных, необходимых для создания экземпляров класса.

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

Определение статических методов

Чтобы определить метод как статический, задайте блок методов Static атрибут для true. Например:

classdef MyClass
   methods(Static)
       function p = pi(tol)
           [n d] = rat(pi,tol);
           p = n/d;
       end
   end
end

Вызов статических методов

Вызов статических методов с использованием имени класса, за которым следует точка (.), то название метода:

classname.staticMethodName(args,...)

Вызов pi способ MyClass в предыдущем разделе потребуется следующее утверждение:

value = MyClass.pi(.001);

Можно также вызывать статические методы, используя экземпляр класса, как любой метод:

obj = MyClass;
value = obj.pi(.001);

Наследование статических методов

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

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