Métodos estáticos
¿Qué son los métodos estáticos?
Los métodos estáticos están asociados a una clase, pero no a instancias específicas de esa clase. Estos métodos no requieren un objeto de la clase como argumento de entrada. Por lo tanto, puede llamar a métodos estáticos sin crear un objeto de la clase.
Motivos para definir métodos estáticos
Los métodos estáticos son útiles cuando no desea crear una instancia de la clase antes de ejecutar código. Por ejemplo, suponga que desea configurar el entorno de MATLAB® o utilizar el método estático para calcular los datos necesarios para crear instancias de clase.
Suponga que una clase necesita un valor de pi calculado con determinadas tolerancias. La clase podría definir una versión propia de la función pi
integrada para su uso dentro de la clase. Este método mantiene la encapsulación del funcionamiento interno de la clase, pero no requiere una instancia de la clase para devolver un valor.
Definir métodos estáticos
Para definir un método como estático, establezca el atributo Static
de bloque de método en true
. Por ejemplo:
classdef MyClass methods(Static) function p = pi(tol) [n d] = rat(pi,tol); p = n/d; end end end
Llamar a métodos estáticos
Invoque métodos estáticos utilizando el nombre de la clase seguido por un punto (.
) y por el nombre del método:
classname.staticMethodName(args,...)
Para llamar al método pi
de MyClass
de la sección anterior, se necesitaría esta instrucción:
value = MyClass.pi(.001);
También puede invocar métodos estáticos utilizando una instancia de la clase, como cualquier método:
obj = MyClass; value = obj.pi(.001);
Heredar métodos estáticos
Las subclases pueden redefinir métodos estáticos, a menos que el atributo Sealed
del método también esté establecido en true
en la superclase.