定义类方法和功能
块的方法
方法定义为MATLAB®函数在一个方法
块,在classdef
块。构造函数方法名称相同的类,并返回一个对象类的初始化。创建一个对象实例的属性值,是独一无二的,在类构造函数给属性赋值。终止所有功能的方法结束
声明。
classdef类名称属性PropertyName结束方法函数obj =类名称(__arg1、…) obj。PropertyName= __arg1;…结束函数ordinaryMethod(obj __arg1…)…结束结束方法(静态)函数staticMethod(__arg1、…)…结束结束结束
方法调用语法
MATLAB c++和Java等语言的不同®在没有特殊的隐藏类对象传递给所有方法。你必须通过一个对象类的显式方法。最左边的参数不需要类对象,参数列表可以有多个对象。MATLAB分派方法定义的类的主要论点。有关更多信息,请参见方法调用。
方法时,必须在MATLAB的路径。例如,如果你创建一个对象,然后改变你的当前文件夹的文件夹文件的方法是不可见的,调用该方法时发生错误。
总是使用MATLAB代码区分大小写的方法名称。
普通的方法
使用MATLAB函数调用普通方法语法或点符号。例如,假设你有一个类,它定义了ordinaryMethod
。通过定义类的一个对象和任何参数是必需的。
classdefMyClass方法函数= ordinaryMethod (obj __arg1)…结束结束结束
调用ordinaryMethod
使用对象obj
类的,要么语法:
obj = MyClass;r = ordinaryMethod (obj __arg1);r = obj.ordinaryMethod (__arg1);
静态方法
静态方法不需要类的一个对象。调用一个静态方法,方法名与类名前缀,MATLAB可以决定哪些类定义方法。
classdefMyClass方法(静态)函数= staticMethod (__arg1)…结束结束结束
调用staticMethod
使用语法
:类名称
。methodname
r = MyClass.staticMethod (__arg1);
看到静态方法信息不需要对象的类的方法。
私有方法
使用访问
方法属性来创建一个私有方法。您不需要使用一个私人文件夹。
看到方法属性属性列表的方法。
更多详细信息的方法
与课堂有关的函数
您可以定义函数不是类方法的文件,其中包含类定义(classdef
)。定义本地以外的功能classdef——结束
块,但在同一个文件中定义的类。函数中定义classdef
文件工作像本地函数。你可以从任何地方在同一个文件中调用这些函数,但他们是不可见的外部的文件中定义它们。
本地函数classdef
文件是有用的为您只使用效用函数在该文件中。这些函数可以或返回参数是类的实例,但它并不是必须的,对于普通的方法。例如,下面的代码定义了myUtilityFcn
外的classdef
布洛克:
classdefMyClass属性PropName结束方法函数obj = MyClass (__arg1) obj。PropName = __arg1;结束结束结束% classdef年底函数myUtilityFcn…结束
您还可以创建包功能,它需要使用的包名称当调用这些函数。
如何重载函数和运算符
过载MATLAB函数类通过定义一个类方法具有相同名称的函数,你想超载。MATLAB分派到类方法只有在函数被调用时,类的实例。
可以超载MATLAB算术、逻辑、关系和索引操作符通过定义类方法与适当的名字。
看到处理
类定义的操作列表的类。所有的类都源于处理
继承这些方法。
规则定义方法在单独的文件中
以下规则适用于单独的文件中定义的方法:
指定属性定义的方法在一个单独的文件,声明该方法在一个块的方法
classdef
文件。指定属性值的方法。匹配方法中声明的语法块(如果使用)的方法
函数
线。单独的文件必须在类(
@
)文件夹中。必须定义在类构造函数方法
classdef
文件。构造函数不能被放置在一个单独的文件中。处理类
删除
必须定义的方法classdef
文件。的删除
方法不能在一个单独的文件。所有功能使用点在他们的名字必须定义
classdef
文件,包括:转换器的方法必须使用包名作为类名称的一部分,因为类是包含在包中
属性集和获取方法
在单独的文件中定义方法的更多信息,参见方法在单独的文件中