- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB面向对象编程 (OOP)-在 MATLAB中设计用户类
在设计 MATLAB类时,应包括一组标准的方法以使类的行为与 MATLAB环境
协调一致并合乎逻辑。根据所设计的类的特点,你不一定要包含所有这些方法,
并且你可能会包含一些 其它 方法以实现类的设计目标。
下表所列为 MATLAB类中包含的基本方法。
类方法 说明
类构造器 创建类的对象
display 当 MATLAB显示对象内容时被调用(例如,当输
入的表达式没有以分号结束时)
set和 get 访问类的属性
subsref和 subsasgn 允许对用户对象进行下标 引用和赋值
end 在对象的索引表达式中支持 end语法。
subsindex 支持在索引表达式中使用对象
double和 char 等类型转换 将对象转换为 MATLAB数据类型的方法
函数
接下来的几节将讨论每种方法的实现并提供本章中所用例子的参考链接。
类构造方法
特定类的 @目录中必须包括一个称为该类的构造函数的 M-文件。构造函数
的名称与类目录的名称相同(除了 @前缀和 .m扩展名)。构造函数通过初始化
类数据结构和初始化一个类的对象来创建对象。
构造函数编写指南
类构造函数必须执行某些功能,以使对象在 MATLAB环境下正确运行。通
常,一个类的构造函数必须处理三种可能的输入参量组合:
无输入参数
一个同类对象作为输入参数
用来创建类的对象的输入参数(通常是某类数据)
无输入参数。如果没有输入参数,构造函数应该创建一个默认对象。既然没
有输入,你没有用来创建对象的数据,所以只需用空的或默认值来初始化对象的
数据,调用 class 函数来初始化对象,并将对象作为输出参数返回。这样做有两
方面的原因:
u 当加载对象到工作空间时, load函数以无参数的方式调用类的构造函数。
u 在创建对象数组时, MATLAB调用此类构造函数来向数组中添加对象。
对象输入参数。如果参数列表中的第一个参数是一个同类对象,构造函数应
该只是将对象返回。可以用 isa 函数来确定输入参数是否类的成员。这一构造函
数语法的例子见 重载 +运算符 。
数据输入参数。如果输入参数存在且不是本类的对象,那么构造函数就用输
入参数创建对象。当然,像在其它函数中一样,你也应在构造函数中对参数进行
适当的检查。典型的做法是用 varargin 作为输入参数,用一个 switch 语 句来控
制程序流程。这为我们提供了一种可以适应三种情况:无输入、对象输入、数据
输入来创建对象的简单方法。
正是在构造函数的这一部分中,你对对象的数据进行赋值、调用 class函数
初始化对象并将对象作为输出参数返回。如果需要,可以用 superiorto 和
inferiorto 函数来将对象放置到对象层次结构中。
构造函数中 class函数的使用
在构造方法中,你通过 class 函数来将一个对象结构关联到某特定的类。这
是通过仅可通过 class和 isa 函数访问的内部类标签实现的。例如,下面 class函
数的调用将对象 p标记为 polynom类
p =class(p, ’polynom ’);
构造方法的例子
有关
文档评论(0)