Matlab 类的实现与定义

一般来说,一个类包含4个基本的成员函数:

  1. 构造函数 ―― 与类名相同,可以在其中完成成员初始化的工作;
  2. 显示函数 ―― 名为display,用于显示成员的数据;
  3. 赋值函数 ―― 名为set,用于设置类成员的数值;
  4. 取值函数 ―― 名为get,用于读取类成员的函数。

下面通过一个简单的例子,介绍一个简单的类如何使用:

首先,定义一个类:名为list,它有两个数据成员x和y,希望通过一个成员函数prod()来获得x和y的乘积值。

  1. 类名:list
  2. 成员变量:x,y
  3. 成员函数:
  • list:构造函数
  • display:显示函数
  • get:取值函数
  • set:赋值函数
  • prod:计算函数现在就来建立它。
    然后具体操作步骤如下:
  1. 创建一个文件夹,命名方式为:@+类名,对于所有保存到《@list》文件夹的M文件,MATLAB都认为是类的成员函数。
  2. 创建所需要的不同成员函数

执行这个类。


详细解释:

类的创建创建一个新的类,首先需要在构造函数中用结果类型struct建立一个结构变量,包含所需要的成员变量。注意,这里不用考虑成员函数。然后用class命令将其转换成类,并返回。
   
 class的语法很简单:类变量 = class(结构变量,'类名');
这里类名构造函数名相同。程序中要创建这个类的新的变量时,只需调用其构造函数,返回的变量就属于这个类的了。当然,这里的list.m太过简单,没有任何变量检查,使用中还可以根据情况添加一些扩充功能。


类成员变量的赋值本例中,类的成员变量是在构造函数中赋值的。MATLAB中,类成员变量都是private的,必须在成员函数中访问,因此就不能箱struct那样,用d.xd.y等形式访问其成员变量了。不过,这个问题不严重,编个专门的成员函数get就行了。另外,成员函数的调用有个跟普通的函数一样。注意在getset函数中,成员变量是以字符串的形式指定的,要通过字符串比较的办法进行区分,然后对输出变量进行赋值。


成员变量的显示成员被变量display不是必须的,不过她可以显示类的有用信息。如果在命令行上输入一个类变量,不加分号就回车,这时其display函数就自动调用。在该函数中,可以显示任何与该类信息相关的信息,当然也可以是不相关的。


 

你可能感兴趣的:(Matlab)