作为《MATLAB面向对象编程-从入门到设计模式的作者》,如下的问答可以帮你大致了解在MATLAB中面向对象编程的能给你带来什么
【问题】我是理工科学生,MATLAB用的很熟练,我有必要学面向对象编程吗?
【回答】我们的书籍主要面向的就是理工专业的学生学者,我们希望通过介绍MATLAB OOP来帮助他们更好的解决科研中的问题。或许你曾有这种感觉: 在科研和学习中,写的程序一但到达一定的规模,维护起来就会很困难, 调试越来越慢。随着 科研项目不断有新的要求,程序在不断的修改和扩展; 函数多达上百个; 一旦有修改则牵一发则动全身; 有的时候甚至需要做伤筋动骨的修改。MATLAB 的面向对象编程和设计就是专门帮你解决中这种问题的,我们这本书的重点不是介绍一个函数或者技巧,这本书的重点是怎样从整体上去设计我们的程序,小到一个家庭作业,一个两个星期的项目,大到硕士或者博士的毕业设计,一个大型的多人合作的项目。面向对象的思想让你从繁重的程序维护中解脱出来,让你的注意力放到真正需要解决的问题之上,把需要解决的问题解决好。再次重申,我们不是为了学习面向对象而学习面向对象,作为科研人员,我们都以高效务实为目标,如果一个技术能够让我们投资少量的时间去学习,并且学会了之后让我的科研工作如虎添翼,让我有更多的时间做其它事情,何乐而不为呢。
【问题】面向对象编程难道不是只有计算机专业的人才用的吗?
【回答】计算机专业背景的科研人员使用面向对象语言编程是一个自然的选择,因为面向对象可以更好的帮它们解决软件设计的问题。但是面向对象的方法并不是软件行业所独有的,面向对象可以被任何学术背景的研究人员使用,适合解决各个行业的学术问题。由于目前主流的面向对象语言比如C++ JAVA学习周期比较长,面向对象的方法和设计思想被繁琐的语法隐藏了起来,大多数非CS专业背景的研究人员没有这样的时间和精力去先学习C++和JAVA的语法,然后再学习面向对象的编程思想,进而再使用的实际的科研工作中来。而且在科学工程计算中,MATLAB才是主流的语言。MATLAB从2008a之后开始真正的支持面向对象编程。MATLAB的提供了这样一个宝贵的机会,它能够让我们避开繁琐的语法,直接接触到核心的面向对象和设计模式的思想。所以这句话应该这么说,使用MATLAB语言,你不需要CS的专业知识也能学会面向对象和实际模式。
【问题】MATLAB已经很简单了,为什么我还要学面向对象的MATLAB
【回答】MATLAB致力于提供给用户简单的语法,使得用户上手快,编程语言和实用语言更加的贴近自然语言,但是这并不代表我们要解决的科研问题是简单的。面向对象是一种系统化编程的思路,教你一开始就去系统化的设计你的程序,设计模式给你提供了十几种解决复杂问题的套路,如果你能把这些套路使用在你的科研工作编程中,你的科研工作必将如虎添翼。
【问题】学习MATLAB面向对象需什么样的基础
【回答】我们写本书的目的就是要做到让具有初级的MATLAB语言基础的读者能够迅速地一步到位把面向对象的思想渗透到自己的编程习惯中去。其实只要懂得什么是变量,什么是函数,就完全能够开始学习MATLAB OOP了。对于有经验的读者,就是那些熟悉MATLAB语言和各种toolbox的读者,我们的MATLABOOP书能够让他们更深入的了解MATLAB的体系,提高自己的对程序的总体设计,做到事半功倍。
【问题】面向对象编程是不是要花很多时间学啊?我还有研究课题要做,没有这么多时间啊
【回答】本书的作者都是理工科的背景,秉持高效务实的做事风格,完成每一项工作都非常的注重成本,也就是所花的时间。我们完全没有兴趣编写一本全面详尽,但是阅读起来费时费力的书,这样的书也不会受到我们目标读者的欢迎。让读者用最短的时间入门面向对象,让读者用最小的成本学会面向对象的中级基础,并且能够顺利的进入到编程思想的学习当中去,越过面向对象语法上的障碍,真正的享受使用面向对象的编程方法。才是我们的目的。我们还尽量的让书中内容的编排便于查找,读者完全可以跳跃性的阅读自己需要的内容,当工作变得复杂,需要更多MATLAB面向
对象编程语言特性的时候再会够头来查找。
【问题】面向对象编程难学么?或者说,我要学多久才能用到实际的 编程中
【回答】面向对象的思想并不难,但是目前主流的面向对象的语言比如C++和JAVA,在语法上的繁琐使得面向对象这块宝藏被隐藏在了各种语法规定的后面。MATLAB的面向对象语言的支持提供了前所未有的机会,让我们能够迅速的越过这些障碍,真正学习编程的思想。众所周知,学习一门语言不但需要学习语言的语法,还需要不停的实践。 对于广大的研究人员,MATLAB是一门主流的科学计算的语言,你学习了MATLAB 面向对象的语法,第二天就可以直接使用到自己的科研编程中去,哪怕是一个简单的拟合,做图,你都可以用使用OOP的思想把你的程序组合起来,你自己的科研就是实践编程思想的最好的平台,好的编程思想可以让你的科研工作事半功倍。
MATLAB 作为一个高级的工程科学计算软件,给你提供了前所未有的,在以往只有CS专业背景的人才能够具有的实践编程思想的机会。
【问题】MATLAB的面向对象编程和C++和JAVA的面向对象编程有什么不一样吗?
【回答】MATLAB作为一个商业软件,提供面向对象编程的支持,这和C++和JAVA有本质的不同,C++和JAVA给用户提供"基石",用户需要花大力气去首先学习其语法,然后学用这些"基石"的组合来解决复杂的问题,这需要一个较长的学习周期才能上手,这需要相当深厚的基础知识和时间,而大部分的科研工作者没有这样的时间和精力去专门学习一门语言来帮助他们解决问题。
MATLAB提供了这样一种渠道,把这些基石进行相当复杂的组合,然后当作一个语言的特殊功能提供给用户。我们只需要多这些特殊功能稍加了解,就可以很快掌握,这是一种务实的精神,
我们需要在有限的时间内,以最高的效率完成任务。本书还会简单解释一些这些特殊的功能是来自何方,大概是怎么实现的,目的是为了帮助读者更好的使用这些功能。
【问题】面向对象编程和书中的设计模式是一回事吗?
【回答】面向对象是相对于面向过程的一种编程方式,设计模式是建立在面向对象基础之上的针对
一些常见的复杂问题的抽象解决方法。问题再复杂,都可以被分解成小的部分加以抽象,然后使用设计模式来高效的解决。有的时候是多种设计模式的结合。
【问题】MATLAB面向对象不是有一本英文的用户手册吗,你们的这本书和这本英文手册比有什么优点
【回答】本书部分参考了英文MATLAB面向对象的用户手册中的内容,并在此之上做了大量的改进,使其能够为更多理工科用户学习和阅读。具体说来,:首先这本用户手册有500多页英文,通读起来不是一件容易的事情。第二它只介绍了基本的MATLAB基本的面向对象技术,没有介绍设计模式,而设计模式才是真正利用OOP的试金石。第三因为OOP的编程和设计模式已经是很成熟的技术,我们还参考了大量的C++,JAVA的面向对象的编程书籍,和设计模式的书籍,我们有信心这本MATLAB OOP的数据将比MATLAB OOP的英文手册更加的面向中文读者,而且学习和阅读的成本很低,就是说我们的目的就是让读者花很少的时间和精力去学习并且掌握MATLAB OOP. |