《面向对象基础》ppt课件

《面向对象基础》ppt课件

ID:26963114

大小:987.51 KB

页数:110页

时间:2018-11-30

《面向对象基础》ppt课件_第1页
《面向对象基础》ppt课件_第2页
《面向对象基础》ppt课件_第3页
《面向对象基础》ppt课件_第4页
《面向对象基础》ppt课件_第5页
资源描述:

《《面向对象基础》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章面向对象基础4学时引言话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席间,曹操诗性大发,不觉吟道:“喝酒唱歌,人生真爽。……”。众文武齐呼:“丞相好诗!”于是一臣子速命印刷工匠刻版印刷,以便流传天下。喝酒唱歌人生真爽曹操感觉不妥:“喝与唱,此话过俗,应改为‘对酒当歌’,工匠眼看连夜刻版之工,彻底白费,心中叫苦不喋,只得照办。喝酒当歌人生真爽唱当曹操细细一品,觉得还是不好:“人生真爽太过直接,应改问语才够意境,‘对酒当歌,人

2、生几何?…………’!工匠听后当即晕倒把每个字做一个对象,只需更改四个字就可对酒当歌人生几何只需更改要改之字,此为可维护;这些字并非用完这次就无用,在后来的印刷中可重复使用,此乃可复用;此诗若要加字,只需另刻字加入即可,此称可扩展;字的排列横竖均可,此是灵活性好。程序不容易维护,灵活性差,不易扩展,更谈不上复用面向对象方法通过封装、继承、多态把程序的耦合度降低(传统印刷术的问题就在于所有的字都刻在同一版面上造成耦合度太高),使程序更加灵活,易修改,易复用。第5章面向对象基础1)面向对象的基本概念2)UML用例图、活动

3、图和类图的应用3)软件建模语言的作用4)UML的5个视图的作用5)UML顺序图、交互图、组件图、配置图、状态图的应用掌握掌握理解了解了解要求第5章面向对象基础5.1从一个例子看结构化方法的问题5.2面向对象概念5.3面向对象开发方法介绍5.4UML语言5.5用例图5.6活动图5.7状态图5.8交互图5.9类图5.10配置图5.11组件图5.1从一个例子看结构化方法的问题例子:设计并实现一个四则运算软件,输入两个数和运算符号,输出运算结果。用结构化设计:这个例子很简单没有必要画数据流程图,如果一定要画的话,只有三个处

4、理“数据录入”,“计算”,“结果输出”,转换成设计模块也只有“主模块”“数据录入”“计算”“结果输出”4个简单的模块。注:主模块太简单我们省略了。模块名称:input功能:输入运算数和运算符输入模块主要代码输出/返回无提示输入信息:"请输入数字A、B和运算符:"读入NumberA、NumberB和OperateNumberA,NumberB,Operate输入模块主要代码输出/返回NumberANumberBOperateStringResult="";Switch(Operate){case"+":Result=

5、string(NumberA+NumberB);break;case"−":Result=string(NumberA−NumberB);break;case"*":Result=string(NumberA×NumberB);break;case"/":if(NumberB!="0")Result=string(NumberA÷NumberB);elseResult="除数不能为0"break;}Result模块名称:comput功能:计算输入模块主要代码输出/返回ResultConsole.WriteLine(

6、"运算结果:"+Result);无模块名称:output功能:输出结果结构化方法是将需求分解为一个个简单的功能,简单的功能直接影射为模块,复杂的功能可以设计多个模块。当需求发生变化,例如,增加一个平方运算或开根运算时,需要修改计算模块,这就要求程序员对计算模块的代码非常了解。这对于功能简单的软件比较容易实现,当软件规模比较大,功能复杂时,非常容易出错,并且软件的维护量很大。点评:首先设计一个计算类operation,有两个私有的操作数numberA和numberB、三个方法:NumberA(),NumberB()和

7、GetResult()在设计时考虑到软件的可扩充性,把计算类设计为基类,四则运算分别继承基类。为了增加软件的灵活性,设计一个实例化工厂类,专门生成运算类的实例化对象。类图如下:点评:在客户端主程序直接调用实例化工厂类创建相应的运算类对象,工厂返回相应的运算类对象指针。例如,下面的代码oper指向OperationAdd类,接着调用该类的方法NumberA和NumberB进行属性赋值,最后调用该类的GetResult方法计算结果。输入和输出的处理代码与结构化方法相同,故省略。Operationoper;oper=Op

8、erationFactory.createOperate("+");oper.NumberA=1;oper.NumberB=2;double.result=oper.GetResult();面向对象方法比结构化方法设计的软件结构要复杂一些。在本例中,每个计算分别设计为一个子类,如果要增加新的运算,只需添加子类,同时在实例化工厂类中添加相应的switch分支,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。