登入帳戶  | 訂單查詢  | 購物車/收銀台( 1 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』MATLAB面向对象编程——从入门到设计模式

書城自編碼: 2498659
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 徐潇,李远 编著
國際書號(ISBN): 9787512416093
出版社: 北京航空航天大学出版社
出版日期: 2015-01-01
版次: 1 印次: 1
頁數/字數: 331/535000
書度/開本: 16开 釘裝: 平装

售價:NT$ 382

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
中国近代史(中国史学大家蒋廷黻典作品)
《 中国近代史(中国史学大家蒋廷黻典作品) 》

售價:NT$ 223.0
先跳了再说: 仓本聪的工作与生活哲学
《 先跳了再说: 仓本聪的工作与生活哲学 》

售價:NT$ 314.0
抗焦虑饮食(赠实践手册)
《 抗焦虑饮食(赠实践手册) 》

售價:NT$ 498.0
生活不是掷骰子:理性决策的贝叶斯思维
《 生活不是掷骰子:理性决策的贝叶斯思维 》

售價:NT$ 386.0
万有引力书系·基辅罗斯:东斯拉夫文明的起源
《 万有引力书系·基辅罗斯:东斯拉夫文明的起源 》

售價:NT$ 661.0
康熙的红票:全球化中的清朝
《 康熙的红票:全球化中的清朝 》

售價:NT$ 437.0
PyTorch语音识别实战
《 PyTorch语音识别实战 》

售價:NT$ 386.0
多卖三倍
《 多卖三倍 》

售價:NT$ 252.0

建議一齊購買:

+

NT$ 432
《 MATLAB数值计算(Numerical Computing with MATLAB 中译本,最新修订) 》
+

NT$ 441
《 MATLAB面向对象程序设计(国内第一本MATLAB面向对象程序设计书籍,案例充实、系统透彻。MathWorks 中国教育业务发展总监、MATLAB技术论坛力荐!) 》
+

NT$ 495
《 实战MATLAB文件与数据接口技术 》
+

NT$ 333
《 实战Matlab之并行程序设计 》
+

NT$ 399
《 MATLAB N个实用技巧--MATLAB中文论坛精华总结 》
編輯推薦:
国内第一本论坛全文试读的MATLAB图书,MathWorks公司、MATLAB中文论坛联合力荐
內容簡介:
本书分为三部分。第一部分介绍MATLAB面向对象编程基础知识,包括什么是类,类之间的基本关系,以及MATLAB提供的面向对象编程语言的具体功能;第二部分是面向对象编程的进阶篇,对概念进行归类,方便读者在编程中遇到问题时查询和检索;第三部分把面向对象编程的方法应用到实际问题中,并且从实际问题中抽象出一般的解决方法,即设计模式。
本书可作为高等院校本科生、研究生MATLAB课程的辅助读物,也可作为从事科学计算、程序设计的科研人员的参考书。
關於作者:
徐潇 软件工程师,物理博士,研究方向为电子结构计算、密度泛函算法开发;计算机硕士,研究方向为图像处理。在科研编程中经历了开发大型程序难以维护的困难,花了很多时间用于改进程序但总不尽如人意。从2009 年接触并开始使用MATLAB面向对象编程,发觉工程进度被迅速加快,于是萌生了写一本介绍MATLAB 面向对象编程的书的念头,希望把这个优秀的工具介绍给大家。
李远 研究员(Senior Research Scientist),物理博士,研究方向为光电子器件;硕士就读于北京交通大学,后在Wake Forest University 取得物理博士学位,曾在华盛顿大学做博士后。希望这本《MATLAB面向对象编程——从入门到设计模式》能够给工程科学领域的工作者带来更多方便,尤其是在一些需要长期使用而且不断更新的程序上。
目錄
第1 部分面向对象编程初级篇

第1 章面向过程和面向对象程序设计
1.1 什么是面向过程的编程                               
1.2 什么是面向对象的编程                               
1.2.1 什么是对象(Object)                              
1.2.2 什么是类(Class)                                
1.2.3 什么是统一建模语言(UML)                          
1.3 面向过程编程有哪些局限性                           
1.4 面向对象编程有哪些优点   
                         
第2 章MATLAB 面向对象程序入门
2.1 如何定义一个类                                   
2.2 如何创建一个对象                                 
2.3 类的属性Property                                  
2.3.1 如何访问对象的属性                             
2.3.2 什么是属性的默认值Default Value                        
2.3.3 什么是常量Constant 属性                           
2.3.4 什么是非独立Dependent 属性                         
2.3.5 什么是隐藏Hidden 属性                           
2.4 类的方法Method                                  
2.4.1 如何定义类的方法                               
2.4.2 如何调用类的方法                               
2.4.3 点调用和函数式调用类方法的区别                       
2.4.4 什么是方法的签名                               
2.4.5 类、对象、属性、方法之间的关系                       
2.4.6 如何用disp 方法定制对象的显示                         
2.5 类的构造函数Constructor                              
2.5.1 什么是Constructor                                
2.5.2 如何在Constructor 中给property 赋值                     
2.5.3 如何让Constructor 接受不同数目的参数                     
2.5.4 什么是Default Constructor                            
2.5.5 用户一定要定义Constructor 吗                         
2.6 类的继承                                       
2.6.1 什么是继承                                   
2.6.2 为什么子类Constructor 需要先调用父类Constructor                
2.6.3 在子类方法中如何调用父类同名方法                     
2.6.4 什么是多态                                   
2.7 类之间的基本关系:继承、组合和聚集                     
2.7.1 如何判断B 能否继承A                              
2.7.2 企鹅和鸟之间是不是继承关系                         
2.7.3 如何把类组合起来                               
2.7.4 什么是组合聚集关系                             
2.8 Handle 类的set 和get 方法                             
2.8.1 什么是set 方法                                 
2.8.2 什么是get 方法                                 
2.9 如何设置属性和方法的访问权限                         
2.9.1 什么是public,protected,private 权限                     
2.9.2 如何决定对类的属性和方法设置何种访问权限                 
2.9.3 MATLAB 对属性访问的控制与C++ 和Java 有什么不同             
2.10 Clear Classes 到底清除了什么 
                         
第3 章MATLAB 的句柄类和实体值类
3.1 引子:参数是如何传递到函数空间中去的                   
3.2 MATLAB 的Value Class 和Handle Class                      
3.2.1 什么是Value Class 和Handle Class                        
3.2.2 Value 类对象和Handle 类对象拷贝有什么区别                 
3.2.3 Value 类对象和Handle 类对象赋值有什么区别                 
3.2.4 Value 类对象和Handle 类对象当做函数参数有什么区别             
3.2.5 什么情况下使用Value 类或Handle 类                     
3.3 类的析构函数(Destructor)                            
3.3.1 什么是对象的生存周期                             
3.3.2 什么是析构函数(Destructor)                          
3.3.3 对Object 使用clear 会发生什么                         
3.3.4 对Object 使用delete 会发生什么                         
3.3.5 什么情况下delete 方法会被自动调用                       
3.3.6 出现异常时delete 函数如何被调用                       
3.3.7 何时用户需要自己定义一个delete 方法 
                   
第4 章事件和响应
4.1 事件(Event)                                    
4.1.1 什么是事件                                   
4.1.2 如何定义事件和监听事件                           
4.1.3 为什么需要事件机制                             
4.2 发布者通知观察者对象,但不传递消息                   
4.3 发布者通知观察者,并且传递消息                       
4.4 删除listener  
                                   
第5 章MATLAB 类文件的组织结构
5.1 如何使用其他文件夹中的类的定义                       
5.2 如何把类的定义和成员方法的定义分开                     
5.3 如何定义类的局部函数                               
5.4 如何使用Package 文件夹管理类                         
5.4.1 Package 中的类是如何组织的                         
5.4.2 如何使用Package 中的某个类                         
5.4.3 如何导入Package 中的所有类                         
5.5 函数和类方法重名到底调用谁                           
5.6 Package 中的函数和当前路径上的同名函数谁有优先级
             
第6 章MATLAB 对象的保存和载入
6.1 save 和load 命令                                   
6.1.1 如何save 和load object                              
6.1.2 MAT 文件中保存了object 中的哪些内容                     
6.1.3 如果类的定义在save 之后发生了变化                     
6.2 saveobj 和loadobj 方法                               
6.2.1 如何定义saveobj 方法                             
6.2.2 如何定义loadobj 方法                             
6.3 继承情况下的saveobj 和loadobj 方法                       
6.3.1 存在继承时如何设计saveobj 方法                       
6.3.2 存在继承时如何设计loadobj 方法                       
6.4 什么是瞬态(Transient)属性                         
6.5 什么是装载时构造(ConstructOnLoad)
                     
第7 章面向对象的GUI 编程:分离用户界面和模型
7.1 如何使用GUIDE 进行GUI 编程                         
7.2 如何使用程序的方式(Programmatic)进行GUI 编程             
7.3 如何用面向对象的方式进行GUI 编程                       
7.4 模型类中应该包括什么                               
7.5 视图类中应该包括什么                               
7.6 控制器类中应该包括什么                             
7.7 如何把Model、View 和Controller 结合起来                   
7.8 如何设计多视图的GUI 以及共享数据                       
7.9 如何设计GUI 逻辑架构                               
7.10 如何使用GUI Layout Toolbox 对界面自动布局                 
7.10.1 为什么需要布局管理器                             
7.10.2 纵向布局类VBox                                
7.10.3 横向布局类HBox                                
7.10.4 选项卡布局TabPanel                              
7.10.5 网格布局类Grid                                  
7.10.6 GUI Layout 的复合布局                             
7.10.7 把GUI Layout Toolbox 和MVC 模式结合起来   
             
第2 部分面向对象编程中级篇

第8 章类的继承进阶
8.1 继承情况下的Constructor 和Destructor                      
8.1.1 什么情况需要手动调用基类的Constructor                    
8.1.2 什么情况可以让MATLAB 自动调用基类的Constructor              
8.1.3 常见错误:没有提供缺省构造函数                       
8.1.4 在Constructor 中调用哪个成员方法                       
8.1.5 析构函数被调用的顺序是什么                         
8.2 MATLAB 的多重继承                               
8.2.1 什么情况下需要多重继承                           
8.2.2 什么是多重继承                                 
8.2.3 构造函数被调用的顺序是什么                         
8.2.4 多重继承如何处理属性重名                           
8.2.5 多重继承如何处理方法重名                           
8.2.6 什么是钻石型继承                               
8.2.7 如何同时继承Value 类和Handle 类                       
8.3 如何禁止类被继承
                                 
第9 章类的成员方法进阶
9.1 Derived 类和Base 类同名方法之间有哪几种关系                 
9.1.1 Derived 的方法覆盖Base 的方法                         
9.1.2 Derived 的方法可以扩充Base 的同名方法                   
9.1.3 Base 的方法可以禁止被Derived 重写                       
9.2 什么是静态(Static)方法                             
9.3 同一个类的各个对象如何共享变量                       
9.3.1 什么情况下各个对象需要共享变量                       
9.3.2 如何共享常量属性                               
9.3.3 如何共享变量
                                 
第10 章抽象类
10.1 什么是抽象类(Abstract)和抽象方法                       
10.2 为什么需要抽象类                                 
10.3 如何使用抽象类                                   
10.3.1 抽象类不能直接用来声明对象                         
10.3.2 子类要实现所有抽象方法 
                         
第11 章对象数组
11.1 如何把对象串接成数组                               
11.2 如何直接声明对象数组                               
11.3 如何使用findobj 寻找特定的对象                         
11.4 如何利用Cell array 把不同类的对象组合到一起                 
11.5 什么是转换函数                                   
11.6 如何利用转换函数把不同类的对象组合到一起                 
11.7 如何用非同类(Heterogeneous)数组盛放不同类对象             
11.7.1 为什么需要Heterogeneous 数组                         
11.7.2 含有不同类对象的数组类型                           
11.7.3 使用Heterogeneous 要避免哪些情况                       
11.7.4 如何向量化遍历数组中对象的属性                       
11.7.5 如何设计成员方法使其支持向量化遍历 
                   
第12 章类的运算符重载
12.1 理解MATLAB 的subsref 和subsasgn 函数                   
12.1.1 MATLAB 如何处理形如a1,: 的表达式                     
12.1.2 MATLAB 如何处理形如a{1,:} 的表达式                     
12.1.3 MATLAB 如何处理形如s.f 的表达式                       
12.2 如何重载subsref 函数                               
12.3 如何重载subsasgn 函数                               
12.4 什么情况下重载下标运算符                           
12.5 如何重载plus 函数                                 
12.6 MATLAB 的Dispatching 规则是什么                       
12.7 如何判断两个对象是否相同                           
12.8 如何让一个对象在行为上像一个函数                       
12.9 MATLAB 中哪些算符允许重载 
                         
第13 章超类
13.1 什么是超类(Meta Class)                              
13.2 如何获得一个类的meta.class 对象                         
13.3 meta.class 对象中有些什么内容                           
13.4 如何手动克隆一个对象                               
13.5 如何使用matlab.mixin.Copyable 自动克隆一个对象 
             
第3 部分设计模式篇

第14 章面向对象程序设计的基本思想
14.1 单一职责原则                                   
14.2 开放与封闭原则                                   
14.3 多用组合少用继承                                 
14.4 面向接口编程
                                   
第15 章创建型模式
15.1 工厂模式:构造不同种类的面条                         
15.1.1 简单工厂模式                                 
15.1.2 工厂模式                                   
15.1.3 Factory 模式总结                               
15.1.4 如何进一步去掉switchif 语句                         
15.1.5 抽象工厂                                   
15.1.6 Abstract Factory 模式总结                           
15.2 单例模式:给工程计算添加一个LOG 文件                   
15.2.1 如何控制对象的数量                             
15.2.2 应用:如何包装一个对象供全局使用                     
15.3 建造者模式:如何用MATLAB 构造一辆自行车                 
15.3.1 问题的提出                                   
15.3.2 应用:Builder 模式为大规模计算做准备工作                   
15.3.3 Builder 模式总结
                               
第16 章构造型模式
16.1 装饰者模式:动态地给对象添加额外的职责                   
16.1.1 装饰者模式的引入                               
16.1.2 面馆菜单代码                                 
16.1.3 装饰者模式总结 
                               
第17 章行为模式
17.1 观察者模式:用MATLAB 实现观察者模式                   
17.1.1 发布和订阅的基本模型                             
17.1.2 订阅者查询发布者的状态                           
17.1.3 把发布者和订阅者抽象出来                           
17.1.4 Observer 模式总结                               
17.2 策略模式:分离图像数据和图像处理算法                   
17.2.1 问题的提出                                   
17.2.2 应用:更复杂的分离数据和算法的例子                     
17.2.3 Strategy 模式总结                               
17.3 遍历者模式:工程科学计算中如何遍历大量数据               
17.3.1 问题的提出                                   
17.3.2 聚集(Aggregator)和遍历者(Iterator)                      
17.3.3 Iterator 模式总结                               
17.4 状态模式:用MATLAB 模拟自动贩卖机                     
17.4.1 使用if 语句的自动贩卖机                           
17.4.2 使用State Pattern 的自动贩卖机                         
17.4.3 State 模式总结                                 
17.5 模板模式:下面条和煮水饺有什么共同之处                   
17.5.1 抽象下面条和煮水饺的过程                           
17.5.2 应用:把策略和模板模式结合起来                       
17.5.3 Template 模式总结                               
17.6 备忘录模式:实现GUI 的UNDO 功能                     
17.6.1 如何记录对象的内部状态                           
17.6.2 应用:如何利用备忘录模式实现GUI 的do 和undo 操作           
17.6.3 Memento 模式总结                               
参考文献

附录
附录A 如何在MATLAB IDE 中切换窗口
附录B 综合实例:如何把面向过程的程序转成面向对象的程序
索引
內容試閱
前言
本书的编写从2011年4月开始,到2013年末结束,历时两年半。本书从理工科研究人员和学生的角度出发,通过三个进阶篇介绍MATLAB面向对象编程。编写本书的难点是不仅需要介绍面向对象编程的思想和技巧,还要让非计算机专业的读者领会为什么需要面向对象编程,它对我们的科研工作将有什么样的帮助,并且怎样把面向对象的思想应用到科研程序中。
我们的写作理念是:技术实用,重点突出,代码简单易读,内容讲解图文并茂。一本技术书籍,纯粹的文字叙述是必要的,因为文字叙述是最精确的;一本介绍编程的书,如果尽量提供例子代码,则能够帮助读者更深刻地理解文字概念;“一张图可胜过千言万语”,简洁明了的图表可以直观形象地表达文意。因此,我们不仅尽量使用最通俗的语言和最形象的图表阐述道理,以最典型且简洁易读的代码作为例程,全面讲解MATLAB面向对象编程从入门到设计模式,而且尽量让版式和代码的编排使读者看起来容易,以便带给读者最佳的阅读体验。除此之外,我们还加入了大量的面向对象编程的图形用户界面(UML),与我们所提供的代码相互对应,以反映代码中类、对象、属性、方法之间的关系。
为了平衡各专业的需求,书中所列举的例子大多是“通例”,而不是具体到某个专业领域的专题。但是本书作者也十分清楚,一本书要能够写好,需要的是能够“深入骨髓”到读者所遇到的最具体的专业问题,最好有对应范例供本专业的同仁参考。所以,在此也希望读者能够将“面向对象编程”的专业问题的程序以及产生的问题发布在MATLAB中文论坛本书的版块上。日积月累,论坛上一定会有更多的MATLAB面向对象编程范例可以参考,也会有更多的科研新人受益其中。
由于作者水平有限,书中存在的错误和疏漏之处,恳请广大读者和同行批评指正。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.