静态方法
什么是静态方法
静态方法与类相关联,但不与该类的特定实例相关联。这些方法不需要类的对象作为输入参量。因此,您可以在不创建类对象的情况下调用静态方法。
为什么定义静态方法
当您不想在执行某些代码之前创建类的实例时,静态方法非常有用。例如,假设您要设置 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,...)
调用上一节中 MyClass
的 pi
方法需要以下语句:
value = MyClass.pi(.001);
您也可以像调用其他任何方法一样,使用类的实例调用静态方法:
obj = MyClass; value = obj.pi(.001);
继承静态方法
子类可以重新定义静态方法,除非该方法的 Sealed
属性在超类中也设置为 true
。