图书介绍
MATLAB面向对象编程PDF|Epub|txt|kindle电子书版本网盘下载
- 徐潇,李远编著 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:9787512416093
- 出版时间:2015
- 标注页数:334页
- 文件大小:49MB
- 文件页数:352页
- 主题词:Matlab软件-程序设计
PDF下载
下载说明
MATLAB面向对象编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 面向对象编程初级篇3
第1章 面向过程和面向对象程序设计3
1.1 什么是面向过程的编程3
1.2 什么是面向对象的编程4
1.2.1 什么是对象(Object)4
1.2.2 什么是类(Class)4
1.2.3 什么是统一建模语言(UML)6
1.3 面向过程编程有哪些局限性9
1.4 面向对象编程有哪些优点12
第2章 MATLAB面向对象程序入门15
2.1 如何定义一个类15
2.2 如何创建一个对象16
2.3 类的属性(Property)18
2.3.1 如何访问对象的属性18
2.3.2 什么是属性的默认值(Default Value)18
2.3.3 什么是常量(Constant)属性19
2.3.4 什么是非独立(Dependent)属性20
2.3.5 什么是隐藏(Hidden)属性23
2.4 类的方法(Method)24
2.4.1 如何定义类的方法24
2.4.2 如何调用类的方法26
2.4.3 点调用和函数式调用类方法的区别27
2.4.4 什么是方法的签名27
2.4.5 类、对象、属性、方法之间的关系30
2.4.6 如何用disp方法定制对象的显示30
2.5 类的构造函数(Constructor)33
2.5.1 什么是Constructor33
2.5.2 如何在Constructor中给property赋值33
2.5.3 如何让Constructor接受不同数目的参数34
2.5.4 什么是Default Constructor35
2.5.5 用户一定要定义Constnuctor吗36
2.6 类的继承37
2.6.1 什么是继承37
2.6.2 为什么子类Constructor需要先调用父类Constructor41
2.6.3 在子类方法中如何调用父类同名方法43
2.6.4 什么是多态44
2.7 类之间的基本关系:继承、组合和聚集45
2.7.1 如何判断B能否继承A45
2.7.2 企鹅和鸟之间是不是继承关系45
2.7.3 如何把类组合起来46
2.7.4 什么是组合聚集关系48
2.8 Handle类的set和get方法50
2.8.1 什么是set方法50
2.8.2 什么是get方法51
2.9 如何设置属性和方法的访问权限53
2.9.1 什么是public,protected,private权限53
2.9.2 如何决定对类的属性和方法设置何种访问权限56
2.9.3 MATLAB对属性访问的控制与C++和Java有什么不同57
2.10 Clear Classes到底清除了什么58
第3章 MATLAB的句柄类和实体值类60
3.1 引子:参数是如何传递到函数空间中去的60
3.2 MATLAB的Value Class和Handle Class64
3.2.1 什么是Value Class和Handle Class64
3.2.2 Value类对象和Handle类对象拷贝有什么区别66
3.2.3 Value类对象和Handle类对象赋值有什么区别66
3.2.4 Value类对象和Handle类对象当做函数参数有什么区别69
3.2.5 什么情况下使用Value类或Handle类71
3.3 类的析构函数(Destructor)76
3.3.1 什么是对象的生存周期76
3.3.2 什么是析构函数(Destructor)76
3.3.3 对Object使用clear会发生什么77
3.3.4 对Object使用delete会发生什么78
3.3.5 什么情况下delete方法会被自动调用80
3.3.6 出现异常时delete函数如何被调用83
3.3.7 何时用户需要自己定义一个delete方法85
第4章 事件和响应87
4.1 事件(Event)87
4.1.1 什么是事件87
4.1.2 如何定义事件和监听事件88
4.1.3 为什么需要事件机制89
4.2 发布者通知观察者对象,但不传递消息90
4.3 发布者通知观察者,并且传递消息91
4.4 删除listener94
第5章 MATLAB类文件的组织结构95
5.1 如何使用其他文件夹中的类的定义95
5.2 如何把类的定义和成员方法的定义分开96
5.3 如何定义类的局部函数97
5.4 如何使用Package文件夹管理类98
5.4.1 Package中的类是如何组织的98
5.4.2 如何使用Package中的某个类100
5.4.3 如何导入Package中的所有类100
5.5 函数和类方法重名到底调用谁100
5.6 Package中的函数和当前路径上的同名函数谁有优先级101
第6章 MATLAB对象的保存和载入102
6.1 save和load命令102
6.1.1 如何save和load object102
6.1.2 MAT文件中保存了object中的哪些内容102
6.1.3 如果类的定义在save之后发生了变化105
6.2 saveobj和loadobj方法108
6.2.1 如何定义saveobj方法108
6.2.2 如何定义loadobj方法109
6.3 继承情况下的saveobj和loadobj方法110
6.3.1 存在继承时如何设计saveobj方法110
6.3.2 存在继承时如何设计loadobj方法111
6.4 什么是瞬态(Transient)属性113
6.5 什么是装载时构造(ConstructOnLoad)114
第7章 面向对象的GUI编程:分离用户界面和模型116
7.1 如何使用GUIDE进行GUI编程116
7.2 如何使用程序的方式(Programmatic)进行GUI编程118
7.3 如何用面向对象的方式进行GUI编程121
7.4 模型类中应该包括什么122
7.5 视图类中应该包括什么124
7.6 控制器类中应该包括什么126
7.7 如何把Model、View和Controller结合起来127
7.8 如何设计多视图的GUI以及共享数据130
7.9 如何设计GUI逻辑架构135
7.10 如何使用GUI Layout Toolbox对界面自动布局138
7.10.1 为什么需要布局管理器138
7.10.2 纵向布局类VBox140
7.10.3 横向布局类HBox141
7.10.4 选项卡布局TabPanel142
7.10.5 网格布局类Grid143
7.10.6 GUI Layout的复合布局144
7.10.7 把GUI Layout Toolbox和MVC模式结合起来145
第2部分 面向对象编程中级篇149
第8章 类的继承进阶149
8.1 继承情况下的Constrctor和Destructor149
8.1.1 什么情况需要手动调用基类的Constructor149
8.1.2 什么情况可以让MATLAB自动调用基类的Constructor150
8.1.3 常见错误:没有提供缺省构造函数151
8.1.4 在Constructor中调用哪个成员方法152
8.1.5 析构函数被调用的顺序是什么154
8.2 MATLAB的多重继承155
8.2.1 什么情况下需要多重继承155
8.2.2 什么是多重继承156
8.2.3 构造函数被调用的顺序是什么157
8.2.4 多重继承如何处理属性重名158
8.2.5 多重继承如何处理方法重名159
8.2.6 什么是钻石型继承160
8.2.7 如何同时继承Value类和Handle类163
8.3 如何禁止类被继承165
第9章 类的成员方法进阶166
9.1 Derived类和Base类同名方法之间有哪几种关系166
9.1.1 Derived的方法覆盖Base的方法166
9.1.2 Derived的方法可以扩充Base的同名方法166
9.1.3 Base的方法可以禁止被Derived重写167
9.2 什么是静态(Static)方法168
9.3 同一个类的各个对象如何共享变量170
9.3.1 什么情况下各个对象需要共享变量170
9.3.2 如何共享常量属性170
9.3.3 如何共享变量171
第10章 抽象类173
10.1 什么是抽象类(Abstract)和抽象方法173
10.2 为什么需要抽象类174
10.3 如何使用抽象类175
10.3.1 抽象类不能直接用来声明对象175
10.3.2 子类要实现所有抽象方法176
第11章 对象数组178
11.1 如何把对象串接成数组178
11.2 如何直接声明对象数组179
11.3 如何使用findobi寻找特定的对象182
11.4 如何利用Cell array把不同类的对象组合到一起184
11.5 什么是转换函数186
11.6 如何利用转换函数把不同类的对象组合到一起187
11.7 如何用非同类(Heterogeneous)数组盛放不同类对象188
11.7.1 为什么需要Heterogeneous数组188
11.7.2 含有不同类对象的数组类型190
11.7.3 使用Heterogeneous要避免哪些情况191
11.7.4 如何向量化遍历数组中对象的属性192
11.7.5 如何设计成员方法使其支持向量化遍历193
第12章 类的运算符重载195
12.1 理解MATLAB的subsref和subsasgn函数195
12.1.1 MATLAB如何处理形如a(1,:)的表达式195
12.1.2 MATLAB如何处理形如a{1,:}的表达式196
12.1.3 MATLAB如何处理形如s.f的表达式197
12.2 如何重载subsref函数198
12.3 如何重载subsasgn函数199
12.4 什么情况下重载下标运算符200
12.5 如何重载plus函数200
12.6 MATLAB的Dispatching规则是什么202
12.7 如何判断两个对象是否相同203
12.8 如何让一个对象在行为上像一个函数204
12.9 MATLAB中哪些算符允许重载207
第13章 超类209
13.1 什么是超类(Meta Class)209
13.2 如何获得一个类的meta.class对象210
13.3 meta.class对象中有些什么内容211
13.4 如何手动克隆一个对象213
13.5 如何使用matlab.mixin.Copyable自动克隆一个对象218
第3部分 设计模式篇225
第14章 面向对象程序设计的基本思想225
14.1 单一职责原则226
14.2 开放与封闭原则227
14.3 多用组合少用继承229
14.4 面向接口编程231
第15章 创建型模式236
15.1 工厂模式:构造不同种类的面条236
15.1.1 简单工厂模式236
15.1.2 工厂模式240
15.1.3 Factory模式总结242
15.1.4 如何进一步去掉switch/if语句243
15.1.5 抽象工厂244
15.1.6 Abstract Factory模式总结247
15.2 单例模式:给工程计算添加一个LOG文件247
15.2.1 如何控制对象的数量247
15.2.2 应用:如何包装一个对象供全局使用250
15.3 建造者模式:如何用MATLAB构造一辆自行车252
15.3.1 问题的提出252
15.3.2 用:Builder模式为大规模计算做准备工作256
15.3.3 Builder模式总结257
第16章 构造型模式261
16.1 装饰者模式:动态地给对象添加额外的职责261
16.1.1 装饰者模式的引入261
16.1.2 面馆菜单代码263
16.1.3 装饰者模式总结265
第17章 行为模式267
17.1 观察者模式:用MATLAB实现观察者模式267
17.1.1 发布和订阅的基本模型267
17.1.2 订阅者查询发布者的状态270
17.1.3 把发布者和订阅者抽象出来271
17.1.4 Observer模式总结272
17.2 策略模式:分离图像数据和图像处理算法275
17.2.1 问题的提出275
17.2.2 应用:更复杂的分离数据和算法的例子279
17.2.3 Strategy模式总结280
17.3 遍历者模式:工程科学计算中如何遍历大量数据281
17.3.1 问题的提出281
17.3.2 聚集(Aggregator)和遍历者(Iterator)283
17.3.3 Iterator模式总结286
17.4 状态模式:用MATLAB模拟自动贩卖机287
17.4.1 使用if语句的自动贩卖机288
17.4.2 使用State Pattern的自动贩卖机293
17.4.3 State模式总结298
17.5 模板模式:下面条和煮水饺有什么共同之处300
17.5.1 抽象下面条和煮水饺的过程300
17.5.2 应用:把策略和模板模式结合起来304
17.5.3 Template模式总结304
17.6 备忘录模式:实现GUI的UNDO功能306
17.6.1 如何记录对象的内部状态306
17.6.2 应用:如何利用备忘录模式实现GUI的do和undo操作309
17.6.3 Memento模式总结314
参考文献315
附录319
附录A 如何在MATLAB IDE中切换窗口319
附录B 综合实例:如何把面向过程的程序转成面向对象的程序321
索引332