单独文件中的方法
类文件夹
您可以在与类定义文件分离的文件中定义类方法,但有某些例外(参见必须在classdef文件中定义的方法).
若要对类定义使用多个文件,请将类文件放在名称以@
字符后跟类名(这称为类文件夹)。确保类文件夹的父文件夹在MATLAB中®路径。
如果类文件夹包含在一个或多个包文件夹中,那么顶级包文件夹必须在MATLAB路径上。
例如,文件夹@MyClass
必须包含文件MyClass.m
(其中包含classdef
类文件中定义的其他方法和函数00
扩展。的文件夹@MyClass
可以包含多个文件:
@MyClass / MyClass。m @MyClass / subsref。m @MyClass / subsasgn。m @MyClass / horzcat。m @MyClass / vertcat。m @MyClass / myFunc.m
方法文件的类型
MATLAB将类文件夹中的任何函数文件视为类的方法。函数文件可以是MATLAB代码(00
)、Live Code文件格式(.mlx
)、MEX函数(平台相关扩展)和P-code文件(每分钟
).文件的基名必须是有效的MATLAB函数名。有效的函数名以字母字符开头,可以包含字母、数字或下划线。
有关将方法定义为c++ MEX函数的信息,请参见用MEX函数实现MATLAB类方法.
在函数文件中定义方法
若要在类文件夹中的单独文件中定义方法,请在文件中创建函数。请勿使用方法
-结束
关键字。与任何函数一样,用函数名命名文件。
在myFunc.m
文件,实现方法:
函数output = myFunc(obj,arg1,arg2)...%代码结束
中声明函数签名是一种很好的实践classdef
方法块中的文件:
classdefMyClass方法output = myFunc(obj,arg1,arg2)结束...结束
中指定方法属性classdef
文件
如果为在单独函数文件中定义的方法指定方法属性,请将方法签名包含在方法
阻塞在classdef
文件。此方法块指定应用于该方法的属性。
例如,下面的代码显示了一个方法访问
设置为私人
在方法
块。方法实现驻留在一个单独的文件中。不包括函数
或结束
关键词方法
块。只包括显示输入和输出参数的函数签名。
classdefMyClass方法(Access = private) output = myFunc(obj,arg1,arg2)结束结束
在一个名为myFunc.m
,在@MyClass
文件夹,定义函数:
函数output = myFunc(obj,arg1,arg2)...结束
独立文件中的静态方法
若要创建静态方法,请设置该方法静态
属性来真正的
并在静态方法块中列出函数签名classdef
文件。用函数名包含输入和输出参数。例如:
classdefMyClass...方法(Static) output = staticFunc1(arg1,arg2) staticFunc2结束...结束
使用相同的函数签名在不同的文件中定义函数。例如,在文件中@MyClass / staticFunc1.m
:
函数输出= staticFunc1(arg1,arg2)...结束
而在@Myclass / staticFunc2.m
:
函数staticFunc2...结束
中必须定义的方法classdef
文件
中定义以下方法classdef
文件。你不能在单独的文件中定义这些方法:
类构造函数
所有在名称中使用点的函数,包括:
转换器方法必须使用包名作为类名的一部分,因为类包含在包中
属性设置并获取访问方法