《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 2357|回复: 2
收起左侧

[文献] MATLAB技术论坛创始人詹福宇(Dynamic)对本书的点评

[复制链接]
发表于 2014-7-10 11:26:49 | 显示全部楼层 |阅读模式
23344fm.jpg
推荐序二

面向对象程序设计(Object-oriented programming,OOP)是建立在对事物科学分类和描述基础上的程序设计方法,采用面向对象方法可以使系统各部分各司其职、各尽所能,为程序设计人员敞开了一扇大门,使程序设计的代码更简洁、更易于维护,并且具有更强的可重用性。

使用MATLAB将近10年了,MATLAB在R2008a正式公开引入面向对象程序设计,OOP的加入使科学计算语言MATLAB更完美、更完整和更系统。本人也是MATLAB OOP的勇敢尝鲜者,目前写的绝大部分代码均采用面向对象的形式。

Package:相当于C++中的命令空间。程序员可用的单词数并不太多,并且不同人写的程序不可避免地出现函数重名现象,Package可以有效地解决这个问题。Package可以包含函数(Function)、类(Class)和包(Package)等。MATLAB安装目录下有很多“+”开头的文件夹就是Package。

Class:MATLAB包含数值类(Value)和句柄类(Handle),其中句柄类相当于C++中的引用(Reference),这是MATLAB语言自身的革命。有了句柄类,就可以在一个地方修改类属性,所有类对象拷贝中同步更新,同时句柄类提供了事件监听。MATLAB安装目录下有很多“@”开头的文件夹就是Class。

Properties:MATLAB 的Properties相对其他程序设计语言拥有更多的特性,使用户能更好地控制自己的Properties。唯一的遗憾就是不支持static特性。

Methods:同样,MATLAB 的Methods具有很多特性,辅助控制用户权限等。类似C#,MATLAB为Properties提供了两个特殊的方法:set()和get(),它们极大地丰富了对Properties的控制,一般set()方法最好配合AbortSet特性。

Event:事件是类似于MFC的消息,但是比消息更加强大,C++没有事件的概念。当事件发生的时候,Event定义类可以将事件广播出去,所有监听该事件的类均会收到这个消息,然后各自采取相应行动。Event在不修改原始类的前提下,完成了1对N的过程。

Enumeration:MATLAB将枚举作为一种特殊的类,MATLAB枚举类相对其他语言有两个优势,一是继承于数值类的枚举对象支持数学运算,比如Color.Red+Color.Blue;二是允许多个枚举对象使用相同的值,比如Switch.On、Switch.Open和Switch.True都可以等于1,它们表示同一个枚举值。

本书是国内介绍和推广MATLAB面向对象程序设计的先驱,相信本书的读者在阅读完书籍内容以后,对MATLAB有一种更新、更全、更高的认识:MATLAB不仅仅是一条条指令的集合和一个个工具箱的累加,它还是一种完整的、系统的高级科学计算程序设计语言。

如果迈粉们在MATLAB学习和使用过程中遇到任何疑问,尤其是Simulink基于模型设计方面,欢迎大家来网站http://www.matlabsky.com交流。另外本人编著的《MATLAB图像处理30个案例分析》一书预计在今年出版,欢迎点评指正。


MATLAB技术论坛创始人
詹福宇(Dynamic)
2014年5月 于成都
发表于 2014-7-10 15:17:35 | 显示全部楼层
拿到书后,我看了詹的写的点评,写的真叫一个赞。都可以作为本书 OOP 的一个综述 或 小节 了。专业性很强。



回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-10 15:57:04 | 显示全部楼层
是呢。真正的功底完全体现出来了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 蜀ICP备19014457号-2 

GMT+8, 2022-12-4 12:30 , Processed in 0.055597 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表