一个MATLAB®类定义是一个模板,其目的是提供对类的所有实例都通用的所有元素的描述。类成员是定义类的属性、方法和事件。
在代码块中定义MATLAB类,用子块描述各种类成员的定义。有关这些块的语法信息,请参见类组件.
属性修改类和类定义块中定义的成员的行为。例如,您可以指定方法是静态的或属性是私有的。以下章节描述了这些属性:
类定义可以提供信息,比如继承关系或类成员的名称,而不需要实际构造类。看到类元数据.
看到指定属性有关属性语法的更多信息。
有两种MATLAB类——句柄类和值类。
值类代表独立的值。值对象包含对象数据,不能与对象的副本共享该数据。MATLAB数值类型是值类。函数传递给和修改的值对象必须向调用者返回一个修改过的对象。
句柄类创建引用对象数据的对象。实例变量的副本引用同一个对象。函数传递给和修改的句柄对象会影响调用者工作空间中的对象,而不返回对象。
有关更多信息,请参见句柄类和值类的比较.
有关类构造函数的信息,请参见类的构造函数方法.
有关创建对象数组的信息,请参见构造对象数组.
有关如何定义类层次结构的更多信息,请参见类的层次结构-概念.
类定义是由classdef
关键字在开头结束
关键字在最后。文件只能包含一个类定义。
下面的图表显示了a的语法classdef
块。的前面只能有注释和空行classdef
关键字。
下面是一个简单的类定义,其中包含一个属性和一个构造函数方法,该构造函数在提供输入参数时设置属性的值。
classdefMyClass属性道具结束方法函数obj = MyClass (val)如果Nargin > 0 obj。支持= val;结束结束结束结束
创建的对象MyClass
,将类定义保存在00
文件具有与类相同的名称,并使用任何必要的参数调用构造函数:
d = datestr(现在);o = MyClass (d);
使用点符号来访问属性值:
o.Prop
ans = 10- november -2005 10:38:14
构造函数应该支持无参数语法,以便MATLAB可金宝app以创建默认对象。有关更多信息,请参见没有输入参数构造函数要求.
有关类定义组件的更多信息,请参见类组件