主要内容

单独文件中的方法

类文件夹

您可以使用某些例外定义与类定义文件分开的文件中的类方法(参见方法必须在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.文件。您无法在单独的文件中定义这些方法:

  • 类建设者

  • 所有使用点的函数,包括:

    • 转换器方法必须使用包名作为类名的一部分,因为该类包含在包中

    • 属性集并获取访问方法

相关信息

相关话题