用户定义的类

什么是一类定义

一个MATLAB®类定义是一个模板,其目的是提供所有所共有的类的所有实例的元件的描述。类成员的属性,方法和定义类的事件。

定义MATLAB类中的代码块,子块与描绘各种类成员的定义。有关这些块语法的信息,请参阅类组件

属性类成员

属性修改的类的行为和在类定义块中定义的成员。例如,你可以指定方法是静态或属性是私有的。下面的章节描述了这些属性:

类定义中可以提供的信息,如继承关系或类成员的不实际构建类的名称。看到类的元数据

看到指定属性更多关于属性语法。

课程的种类

有两种MATLAB类 - 手柄类和价值类。

  • 值类代表独立的值。值对象包含对象的数据,并且不与对象的拷贝共享这些数据。MATLAB数值类型值类。传递和修改由函数的值对象必须修改的对象返回给调用者。

  • 手柄类创建引用对象的数据对象。实例变量的副本指代相同的对象。传递到和改性通过功能手柄对象影响在呼叫者的工作区中的对象,而无需返回的对象。

欲了解更多信息,请参阅手柄和值类的比较

构造对象

有关类构造函数的信息,请参阅类的构造方法

有关创建对象阵列的信息,请参阅构建对象数组

类层次结构

有关如何定义类层次结构的详细信息,请参阅类的层次结构 - 概念

classdef语法

类定义是由所描绘的码块classdef在开始和关键字结束关键字在末端。文件只能包含一个类定义。

下图显示了一个的语法classdef块。只有注释和空行之前可以有classdef关键词。

班级代码

这里是具有一个属性,并且设置属性值时,有提供的输入参数的构造方法的简单的类定义。

classdef我的课性能支柱结束方法功能OBJ = MyClass的(VAL)如果nargin> 0 obj.Prop = VAL;结束结束结束结束

要创建的对象我的课,保存在一个类定义.M文件具有相同的名称作为类并调用任何必要参数的构造函数:

d = datestr(现在);O = MyClass的(d);

使用点表示法来访问属性值:

o.Prop
ANS = 10  -  11月 -  2005年十点38分14秒

构造函数应该支持一个无参数语法,因此MATLA万博1manbetxB可以创建默认对象。欲了解更多信息,请参阅无输入参数的构造要求

有关类定义的组件的详细信息,请参阅类组件

相关话题