定义方法为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
文件是您使用只在该文件的实用功能非常有用。这些功能可以采取或返回的类的实例论点,但,这是没有必要的,因为在普通方法的情况。例如,下面的代码定义myUtilityFcn
外classdef
块:
classdef我的课性能PROPNAME结束方法功能OBJ = MyClass的(ARG1)obj.PropName = ARG1;结束结束结束classdef的结束%功能myUtilityFcn...结束
您还可以创建包函数,调用这些函数时需要使用的软件包名称。
过载MATLAB功能为你的类定义具有相同的名称作为要过载功能的类方法。MATLAB分派给类方法时,调用函数与类的一个实例。
您可以通过定义相应的名称类方法的重载MATLAB算术,逻辑关系和索引运算符。
查看处理
类该类定义操作的列表。所有类别的派生处理
继承了这些方法。
以下规则适用于在不同的文件中定义的方法:
一种用于在一个单独的文件中定义的方法中指定的属性,在一个方法块在声明这种方法classdef
文件。指定与方法块的属性值。
匹配方法块声明的语法(如果使用)的方法的功能
线。
单独的文件必须在类(@
)文件夹中。
类的构造方法必须在被定义classdef
文件。构造函数不能在一个单独的文件。
手柄类删除
方法必须在被定义classdef
文件。该删除
方法不能在一个单独的文件中。
在他们的名字用点必须在定义的所有功能classdef
文件,其中包括:
因为类包含在包必须使用包名作为类名称的一部分转换方法
物业set和get访问方法
有关定义在不同的文件方法的详细信息,请参阅在单独的文件的方法