面向对象分析与设计第一章.pptx
《面向对象分析与设计第一章.pptx》由会员分享,可在线阅读,更多相关《面向对象分析与设计第一章.pptx(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、参考书籍第1页/共71页第2页/共71页第3页/共71页第4页/共71页第5页/共71页第6页/共71页第7页/共71页本书通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GoF(设计模式的经典名著Design Patterns:Elements of Reusable Object-Oriented Software,中译本名为设计模式可复用面向对象软件的基础的四位作者Erich Gamma、Richard Helm、Ralph Johnson,以及John Vlissides,这四人常被称为Gang of Four,即四人组,简称GoF)总结的23个设计模式。本书共分为29章。其
2、中,第1、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结。第8页/共71页思考与作业请同学们用C+、Java、C#任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。第9页/共71页class computer static void Main(string args)Console.Write(请输入数字A:);string A=Console.ReadLine();Console.Write(请选择运算符号(+、-、*、/):);string B=Consol
3、e.ReadLine();Console.Write(请输入数字B:);string C=Console.ReadLine();string D=;if(B=+)D=Convert.ToString(Convert.ToDouble(A)+Convert.ToDouble(C);if(B=-)D=Convert.ToString(Convert.ToDouble(A)-Convert.ToDouble(C);if(B=*)D=Convert.ToString(Convert.ToDouble(A)*Convert.ToDouble(C);if(O=/)D=Convert.ToString(Co
4、nvert.ToDouble(A)/Convert.ToDouble(C);Console.WriteLine(结果是:+D);第10页/共71页引言(续)“话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席间,曹操诗性大发,不觉吟道:喝酒唱歌,人生真爽。.众文武齐呼:丞相好诗!于是一臣子速命印刷工匠刻版印刷,以便流传天下。”第11页/共71页引言(续)“样张出来给曹操一看,曹操感觉不妥,说道:喝与唱,此话过俗,应改为对酒当歌较好!,于是此臣就命工匠重新来过。工匠眼看连夜刻版之工,彻底白费,心中叫苦不迭。只得照
5、办。”第12页/共71页引言(续)“样张再次出来请曹操过目,曹操细细一品,觉得还是不好,说:人生真爽太过直接,应改问语才够意境,因此应改为对酒当歌,人生几何?.当臣转告工匠之时,工匠晕倒.!”第13页/共71页引言(续)这里面问题出在哪里?因为三国时期活字印刷还未发明,所以要改字的时候,就必须要整个刻板全部重新刻第14页/共71页活字印刷,面向对象 如果是有了活字印刷,则只需更改四个字就可,其余工作都未白做。岂不妙哉第15页/共71页活字印刷,面向对象 第一,要改,只需更改要改之字,此为可维护;第二,这些字并非用完这次就无用,完全可以在后来的印刷中重复使用,此乃可复用;第三,此诗若要加字,只需
6、另刻字加入即可,这是可扩展;第四,字的排列其实可能是竖排可能是横排,此时只需将活字移动就可做到满足排列需求,此是灵活性好。”“而在活字印刷术出现之前,上面的四种特性都无法满足,要修改,必须重刻,要加字,必须重刻,要重新排列,必须重刻,印完这本书后,此版已无任何可再利用价值。”第16页/共71页活字印刷,面向对象从事软件开发几年后,同学也会经历太多的类似曹操这样的客户要改变需求,其实客观地说,客户的要求也并不过份,不就是改几个字吗,但面对已完成的程序代码,却是需要几乎重头来过的尴尬,这实在是痛苦不堪。原因就是因为我们原先所写的程序,不容易维护,灵活性差,不容易扩展,更谈不上复用,因此面对需求变化
7、,对程序动大手术的那种无奈也就成了非常正常的事了。第17页/共71页活字印刷,面向对象学习了面向对象的分析与设计编程思想,开始考虑通过封装、继承、多态把程序的耦合度降低。传统印刷术的问题就在于所有的字都刻在同一版面上造成耦合度太高所致。如果使用设计模式使得程序更加的灵活,容易修改,并且易于复用。那就会感受到面向对象带来的好处。第18页/共71页第一章第一章 绪论绪论我们为什么要使用面向对象?我们应该怎样使用面向对象三大机制来实现“好的面向对象”?我们应该遵循什么样的面向对象设计原则?第19页/共71页第一章第一章 绪论(续)绪论(续)对象是什么?从概念层面讲,对象是某种拥有责任的抽象.从规格层
8、面讲,对象是一系列可以被其他对象使用的公共接口从语言实现层面讲,对象封装了代码和数据.怎样才能设计好的面向对象遵循一定的面向对象设计原则熟悉一些典型的面向对象设计模式第20页/共71页第一章第一章 绪论(续)绪论(续)1.1 什么是面向对象(Object-Oriented)面向对象 不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。第21页/共71页面向对象是认识事物的一种方法 第22页/共71页第一章第一章 绪论(续)绪论(续)面向对象方法的基本思想是:从现实世界中客观存在的事物(对象)出发
9、来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。结构化方法采用了许多符合人类思维习惯的原则和策略(如自顶向下、逐步求精)面向对象方法更加强调运用人类在日常逻辑思维中经常采用的思想方法和原则,如抽象、分类、继承、聚合、封装等等。第23页/共71页第一章第一章 绪论(续)绪论(续)面向对象方法有如下一些主要特点:从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。事物的静态特征(即可用一些数据来表达特征)用对象的属性表示;事物的动态特征(即事物的行为)用对象的服务(操作)表示。对象的属性与操作结合为一体,成为一个独立的实体,对外屏蔽
10、内部细节(称作封装)第24页/共71页第一章第一章 绪论(续)绪论(续)面向对象方法有如下一些主要特点:对事物进行分类。把具体有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。通过不同程度上运用抽象的原则(较多或较少的忽略事物之间的差异)可以得到一般的类和较特殊的类。特殊类继承一般类的属性和操作,面向对象方法支持这种继承关系的描述和实现,从而简化系统的构造过程及其文档。第25页/共71页第一章第一章 绪论(续)绪论(续)面向对象方法有如下一些主要特点:复杂的对象可以用简单的对象作为其构成部分(称作聚合)对象之间通过消息进行通信,以实现对象之间的动态联系。通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 分析 设计 第一章
限制150内