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

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

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

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

Статические методы применяются, когда вы не хотите создавать образец класса перед выполнением некоторого кода. Например, предположим, что вы хотите настроить 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 в суперклассе.

Похожие темы