从过程化到面向对象

从过程化到面向对象

ID:44324086

大小:276.00 KB

页数:15页

时间:2019-10-20

从过程化到面向对象_第1页
从过程化到面向对象_第2页
从过程化到面向对象_第3页
从过程化到面向对象_第4页
从过程化到面向对象_第5页
资源描述:

《从过程化到面向对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、从过程化到面向对象几个问题什么是过程化编程?什么是面向对象编程?两者有什么区别?可以举例说明吗?一个生活中的例子假设你是一位新生班的任课教师,选修了你的课程的学生在课后还要参加各种课程的学习,但他们不知道下一节课的上课地点。你的职责之一,就是确保每一个人都知道到哪里去上下一节课。你会如何做?过程化的解决方案获得课堂上学生的名单。对于名单上的每一个人:查找他的下一节课程;查找下一节课的地点;查找到他下一节课的教室的路径;告诉他怎样去上下一节课。过程化的解决方案为了实现上述过程,你可能需要:获得课堂上的学生名单的方法;获得每个人的课程表的方法;一个程序来告诉某个人如何从你的教室到另外任何一个教室;

2、一个控制程序来为每个人做需要的步骤。面向对象的解决方案把从你的教室到其他教室的路径图张贴出来,然后告诉课堂上的所有人:“我把其他课程和相应教室的地址张贴在教室后面了。请按照这份路径图去你们的下一个教室。”你期望每一个人都知道他们的下一节课是什么,这样他们可以在表上查到他们应该去的教室,并根据给出的路径图走到应该去的教室。两种方案有什么不同?第一种方案:你需要为每个人明确地指出路径,因此必须密切注意许多细节。除了你之外的任何人对任何事没有任何责任。第二种方案:你给出一个普遍的指令,并期望每个人都能自己知道如何完成你给出的任务。最大的区别在于责任的转移:前者你对所有事情负责,后者学生对他们自己的行

3、为负责。两种组织方式的效果如何?假设出现了新的需求:需要让班干在课后先到学院办公室开会,再分别到各自的下一个教室去。第一种方案:必须修改控制程序来区分班干和普通同学,然后针对班干做特殊的处理,因此很可能必须对程序做相当多的修改。第二种方案:由于每个学生都对自己的行为负责,因此只需要为班干写一个附加的程序,而控制程序仍然只是说:“去你的下一个教室。”差别产生的原因在第二种方案中每个人对自己负责,而不再由控制程序对他们负责。为了实现这一点,每个“人”都必须知道自己是什么类型的“学生”。控制程序可以与不同类型的人(班干和普通学生)对话,就好像他们是同一类型一样。控制程序不需要知道学生在教室之间移动的

4、任何特殊步骤。面向对象的术语找找看,在第二种方案中我们用到了哪一些面向对象的概念?对象类数据成员成员函数可见性封装接口继承抽象类多态雕版印刷术喝酒唱歌,人生真爽对酒当歌,人生真爽对酒当歌,人生几何活字印刷术喝酒唱歌人生真爽对当几何从雕版到活字的启示雕版印刷术的问题在于将所有的字都刻在同一版面上造成耦合度太高对于程序设计而言,可以通过封装、继承、多态等面向对象的机制,把程序的耦合度降低,使得程序更加的灵活,容易修改,并且易于复用面向对象的好处要改,只需更改要改之字,此为可维护这些字并非用完这次就无用,完全可以在后来的印刷中重复使用,此为可复用此诗若要加字,只需另刻字加入即可,此为可扩展字的排列可

5、横可竖,只需将活字移动就可做到满足排列需求,此为灵活性好了解设计模式什么是设计模式模式是软件开发中一种流行的分析与设计工具,它们描述了一个常见的分析和设计问题,同时也描述了该问题的一个知名的解决方案为什么要学习和使用设计模式复用他人的成功经验使用设计模式的好方法把模式装进脑子里,然后在你的设计中寻找何处可以使用它们

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

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

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