主要内容

定义类方法和功能

块的方法

方法定义为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文件,包括:

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

    • 属性集和获取方法

在单独的文件中定义方法的更多信息,参见方法在单独的文件中

相关的话题