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