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

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

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

Почему задают статические методы

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

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

Похожие темы