方法和功能

该方法阻止

定义方法为MATLAB®内的功能方法块,内部的classdef块。的构造方法具有相同的名称作为类和返回类的初始化的对象。要创建的属性值是唯一到该实例,分配值的目的是在类的构造属性。终止与所有方法的功能结束声明。

classdef班级名称性能属性名结束方法功能OBJ =班级名称(ARG1,...)目标文件。属性名= ARG1;...结束功能ordinaryMethod(OBJ,ARG1,...)...结束结束方法(静态的)功能STATICMETHOD(ARG1,...)...结束结束结束

方法调用语法

从像C ++和Java语言不同的MATLAB®在有传递给所有的方法没有特殊的隐藏的类对象。你必须明确地传递一个类的对象的方法。最左边的说法并不需要是类对象,和参数列表可以有多个对象。MATLAB分派给由类占主导地位的争论中定义的方法。欲了解更多信息,请参阅方法调用

调用时方法必须在MATLAB的路径。例如,如果你创建了一个对象,然后更改当前文件夹,从该方法的文件是不可见的文件夹,当你调用方法时发生错误。

始终在您的MATLAB代码使用区分大小写的方法名。

普通方法

呼叫使用MATLAB函数的语法或点符号的普通方法。例如,假设你有一个类定义ordinaryMethod。通过定义类和任何需要参数的对象。

classdef我的课方法功能OUT = ordinaryMethod(OBJ,ARG1)...结束结束结束

呼叫ordinaryMethod使用对象OBJ类,要么语法:

OBJ = MyClass的;R = ordinaryMethod(OBJ,ARG1);R = obj.ordinaryMethod(ARG1);

静态方法

静态方法不需要类的对象。要调用一个静态方法,前缀和类名的方法名,这样MATLAB可以确定哪些类定义的方法。

classdef我的课方法(静态的)功能OUT = STATICMETHOD(ARG1)...结束结束结束

呼叫STATICMETHOD使用语法班级名称方法名

R = MyClass.staticMethod(ARG1);

看到静态方法对那些方法的信息,不要求他们的类的对象。

私有方法

使用访问方法属性来创建一个私有方法。你并不需要使用专用的文件夹。

看到方法属性对于法属性的列表。

更详细的关于方法的信息

方法

类相关功能

您可以定义不包含类定义的文件类方法的函数(classdef)。定义局部功能的外classdef - 结束块,但在同一个文件中的类定义。功能定义在classdef文件的工作就像本地函数。您可以在同一文件中的任何地方调用这些功能,但它们都没有在其中定义这些文件的外部可见。

在本地功能classdef文件是您使用只在该文件的实用功能非常有用。这些功能可以采取或返回的类的实例论点,但,这是没有必要的,因为在普通方法的情况。例如,下面的代码定义myUtilityFcnclassdef块:

classdef我的课性能PROPNAME结束方法功能OBJ = MyClass的(ARG1)obj.PropName = ARG1;结束结束结束classdef的结束%功能myUtilityFcn...结束

您还可以创建包函数,调用这些函数时需要使用的软件包名称。

如何重载函数和操作符

过载MATLAB功能为你的类定义具有相同的名称作为要过载功能的类方法。MATLAB分派给类方法时,调用函数与类的一个实例。

您可以通过定义相应的名称类方法的重载MATLAB算术,逻辑关系和索引运算符。

查看处理类该类定义操作的列表。所有类别的派生处理继承了这些方法。

规则在不同的文件定义方法

以下规则适用于在不同的文件中定义的方法:

  • 一种用于在一个单独的文件中定义的方法中指定的属性,在一个方法块在声明这种方法classdef文件。指定与方法块的属性值。

  • 匹配方法块声明的语法(如果使用)的方法的功能线。

  • 单独的文件必须在类(@)文件夹中。

  • 类的构造方法必须在被定义classdef文件。构造函数不能在一个单独的文件。

  • 手柄类删除方法必须在被定义classdef文件。该删除方法不能在一个单独的文件中。

    在他们的名字用点必须在定义的所有功能classdef文件,其中包括:

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

    • 物业set和get访问方法

有关定义在不同的文件方法的详细信息,请参阅在单独的文件的方法

相关话题