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

MATLAB技术论坛

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

[样章] 《MATLAB面向对象程序设计》前言

[复制链接]
发表于 2014-7-10 11:30:25 | 显示全部楼层 |阅读模式
本帖最后由 zhanggx 于 2014-7-10 13:45 编辑

前   言
MATLABMathWorks公司针对科学和工程计算开发的一款交互式软件,目前已发展成为集数值处理、图形处理、数学建模、实时控制、动态仿真和信号处理为一体的数学应用软件,并且成为目前世界上使用最广泛的科学计算软件之一。
虽然MATLAB的早期版本中已有类的概念,但其功能一般。从MATLAB R2008a开始,MathWorks对MATLAB的面向程序设计进行了一些重大更新,吸取了面向对象程序设计语言的优点,除了支持封装、继承和多态这些基本特征外,还支持包括属性、事件等新的特征,这使得进行大型应用程序的开发、维护变得更加便捷,并显著增加代码的可重用性、可维护性和可扩展性。
然而,目前国内图书市场上有关MATLAB的书籍多偏重于MATLAB语言程序设计介绍和各种工具箱的专题介绍,专门介绍MATLAB面向对象程序设计的书籍还很少见到,只是在部分书籍中简单提及过。另一方面,目前大多数MATLAB的使用者在编写程序时常采用面向过程的结构化设计思想来组织程序,MATLAB面向对象程序设计的方法还较少被使用。
结构化程序设计方法由于采用了模块分解与功能抽象以及自顶向下、分而治之的策略,从而有效地将一个复杂的程序设计系统的设计任务分解成许多易于控制和处理的子任务,使其便于开发和维护。但是它的缺点是:把数据与对数据的操作分离开来,数据的安全性很难得到保证;当数据结构发生改变时,所有相关的处理函数都要进行相应的修改,程序的可重用性差;特别是在开发图形用户界面应用程序时,程序的开发越来越困难。而面向对象程序设计强调直接面对客观存在的事物来进行软件开发,将人们认识事物的习惯思维方式应用于软件开发中。面向对象程序设计将数据和对象数据的操作封装在一起,形成一个有机的整体,使程序模块之间的关系更加简单、独立性更强,这样就使数据的安全性得到良好的保障。此外,通过面向对象程序设计的继承和多态机制可以大大提高程序的可重用性,从而提高程序开发的效率。
目前流行的C++、Java以及C#语言都是支持面向对象程序设计的语言,我们完全可以基于这些语言,利用面向对象程序设计的方法设计出复杂的应用软件。然而MATLAB具有强大数据可视化功能以及包含诸多面向不同领域的工具箱,并且它是一个开放式、可扩展的程序设计环境,因此可以充分利用MATLAB所提供的这些工具箱和各种功能,以面向对象程序设计的方法来更加方便、快捷地设计应用程序,从而解决不同领域中的实际问题。
为此,我们经过几年来的不断教学和实践,精心编写了《MATLAB面向对象程序设计》一书,全书按照面向对象程序设计的基本特征为主线,兼顾了MATLAB中一些特有功能,合理组织内容,力求知识点讲解透彻,同时尽可能多地穿插应用实例。全书共11章,具体内容如下。
第1章:MATLAB概述,介绍MATLAB的发展历程、体系结构、主要特征,MATLAB的安装与运行,MATLAB的集成环境和帮助系统的使用,MATLAB程序设计基础知识以及MATLAB图形用户界面的设计。
第2章:MATLAB面向对象程序设计概述,介绍面向对象程序设计的基本思想、特征,MATLAB中面向对象程序设计的基本流程、特点以及与其他面向对象程序设计语言的区别等。
第3章:按照“封装”的基本特征,主要介绍MATLAB面向对象程序设计中的核心概念“类及对象”,详细介绍在MATLAB下如何声明一个类、如何创建一个对象、如何编写一个类的构造函数以及类成员的访问控制等问题。这一章以介绍value型类为主。
第4章:主要介绍MATLAB下“继承与派生”有关的一些概念,如继承与派生、基类与派生类、单继承和多重继承等。
第5章:主要介绍handle型类和对象的概念、handle型类析构函数的定义、深拷贝和浅拷贝原理、如何使属性成员实现句柄图形类型的标准set/get接口风格以及在类中动态添加属性成员的过程。
第6章:主要介绍MATLAB面向对象程序设计中的对象阵列的创建过程。
第7章:按照“多态性”的基本特征,介绍MATLAB面向对象程序设计中的函数重载、运算符重载等内容。
第8章:主要介绍事件和听众的概念,以及如何使用事件模型来实现基于事件驱动的、具有交互响应功能的程序设计过程。
第9章:主要讲解MATLAB中枚举的作用、枚举类的定义方法和使用等。
第10章:主要讲解元类的基本概念,元类、元对象的使用方法,并结合实例详细介绍如何利用类元数据获取类信息的步骤、方法等。
第11章:综合前面介绍的内容,将MATLAB面向对象程序设计方法应用到关于倒立摆控制仿真设计和元胞自动机模拟设计问题中。
本书编写过程中大量参考了MATLAB软件帮助文档中的相关内容和实例;在涉及MATLAB的基本操作中,参考了文献[1~6]中的部分内容;在讲解面向对象程序设计的基本原理时,参照了文献[7~10]的部分内容;在元胞自动机模拟实现中,参考了文献[11~12]的部分内容。在此,向这些作者们表示谢意。作者在编写本书的过程中,对于书中每个原理都亲自在MATLAB上进行了检验,并为此编写了大量的验证性代码,某些部分的内容描述是作者归纳总结的结果,书中多数应用实例的程序设计具有一定的原创性。
本书由苗志宏负责统稿工作,并编写了第3、4、5、6、7、8、11章的内容,马金强编写了第1、2、9、10章的内容,李智慧参与了书稿的审阅工作。本书写作之初还得到了电子工业出版社张国霞编辑的鼓励和支持,在此深表谢意。由于作者能力所限,又是初次将MATLAB中面向对象程序设计的内容进行归纳、总结,书中难免存在错误和不足之处,诚挚欢迎各位同行、读者的批评指正。作者电子邮箱地址:miaozhh@21cn.com





苗志宏  
2014年5月9日
23344.jpg
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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