您可以使用某些例外定义与类定义文件分开的文件中的类方法(参见方法必须在ClassDef文件中定义)。
要使用类定义的多个文件,请将类文件放在具有名称开头的文件夹中@
字符后跟类的名称(这被称为类文件夹)。确保类文件夹的父文件夹位于Matlab上®小路。
如果类文件夹包含在一个或多个包文件夹中,则顶级包文件夹必须位于Matlab路径上。
例如,文件夹@我的课
必须包含文件myclass.m.
(包含Classdef.
块)并包含在具有文件中定义的其他方法和函数.m
扩大。文件夹@我的课
可以包含许多文件:
@ myclass / myclass.m @ myclass / subsref.m @ myclass / subsasgn.m @ myclass / horzcat.m @ myclass / vertcat.m @ myclass / myfunc.m
MATLAB将类文件夹中的任何功能文件视为类的方法。功能文件可以是MATLAB代码(.m
),实时代码文件格式(.mlx.
),MEX函数(平台依赖扩展)和P代码文件(.p
)。文件的基本名称必须是有效的MATLAB函数名称。有效的函数名称以字母字符开头,并且可以包含字母,数字或下划线。
有关定义方法作为C ++ MEX功能的信息,请参阅使用MAX函数用于MATLAB类方法。
要在类文件夹中的单独文件中定义方法,请在文件中创建函数。不要使用方法
-结尾
该文件中的关键字。将文件名称为函数名称,与任何函数一样。
在里面myfunc.m.
文件,实现方法:
功能输出= myfunc(obj,arg1,arg2)......这里的%代码结尾
宣布函数签名是一个很好的做法Classdef.
方法中的文件块:
Classdef.我的课方法输出= myfunc(obj,arg1,arg2)结尾......结尾
Classdef.
文件如果为您在单独的函数文件中定义的方法指定方法属性,请包括在a中的方法签名方法
块在Classdef.
文件。此方法块指定适用于该方法的属性。
例如,以下代码显示了一种方法使用权
调成私人的
在里面方法
堵塞。方法实现驻留在单独的文件中。不包括功能
或者结尾
关键词在方法
堵塞。仅包括显示输入和输出参数的函数签名。
Classdef.我的课方法(Access = Private)输出= myfunc(obj,arg1,arg2)结尾结尾
在命名的文件中myfunc.m.
, 在里面@我的课
文件夹,定义函数:
功能输出= myfunc(obj,arg1,arg2)......结尾
要创建静态方法,请设置该方法静止的
归因于真的
并列出静态方法块中的函数签名Classdef.
文件。包括使用函数名的输入和输出参数。例如:
Classdef.我的课......方法(静态)输出= staticfunc1(arg1,arg2)staticfunc2结尾......结尾
使用相同的函数签名定义单独文件中的函数。例如,在文件中@ myclass / staticfunc1.m
:
功能输出= staticfunc1(arg1,arg2)......结尾
和在@ myclass / staticfunc2.m
:
功能staticfunc2.......结尾
Classdef.
文件定义以下方法Classdef.
文件。您无法在单独的文件中定义这些方法:
类建设者
所有使用点的函数,包括:
转换器方法必须使用包名作为类名的一部分,因为该类包含在包中
属性集并获取访问方法