- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10次课基于对象编程
习题点评—求多种图形的周长与面积 面向对象编程之编程 面向对象程序设计 基于对象的程序设计 以“数据结构”为中心 由于程序规模的不断扩大,人们意识到必须让语言具有自建数据结构的能力。 抽象数据类型-描述数据的组织和相关操作,反映了问题的抽象模型。--C++中的类 基于对象编程可以更自然、更直观地浏览编程过程,即构造现实对象、属性和行为。 程序=算法+抽象数据类型 结构化程序设计和面向对象程序设计 结构化程序设计和面向对象程序设计 面向对象的程序设计 基于对象的程序设计本质还是过程化的,只是由于类的存在,使得分工协作更为方便。 而且面向对象的程序设计中,对象间是一种共存关系,而不是你命令我,我强迫你的关系 图1-8(P21) 程序=(对象,对象,…….) 着眼点:面向对象进行分析、设计、编程 结构化程序设计和面向对象程序设计 面向过程的设计思路就是首先分析问题的步骤: 1、开始游戏, 2、黑子先走, 3、绘制画面, 4、判断输赢, 5、轮到白子, 6、绘制画面, 7、判断输赢, 8、返回步骤2, 9、输出最后结果。 结构化程序设计和面向对象程序设计 面向对象的设计思路,分析各方行为: 1、黑白双方,这两方的行为是一模一样的, 2、棋盘系统,负责绘制画面, 3、规则系统,负责判定诸如犯规、输赢等。 结构化程序设计和面向对象程序设计 面向对象的一些优点 易扩展 例如本例中加入悔棋功能(仅需扩展棋盘对象功能) 代码重用性高 完成围棋的游戏设计 (主要改变规则系统) 第十一章 基于对象编程Chapter 11 Object-Based Programming Contents 抽象编程 ( Abstract Programming ) 抽象分行为抽象和数据抽象两种. 例:前面的五子棋游戏 抽象编程 ( Abstract Programming ) 数据结构 一系列性质相同的数据, 组织成一定的逻辑结构, 并带有自身的一系列操作 例如:整型向量 不同整型值是一系列性质相同的数据; 其数据集合存放在向量中,便是组织成线性存储结构; 向量自身有创建、复制、扩建、增删、修改等操作,外加排序、查找等算法可以调用. 所以,整型向量在语言中是一种具体的数据结构。 抽象编程 ( Abstract Programming ) 抽象编程 通过抽象的方法来减少编程工作量或有效地减轻编程难度 抽象编程 ( Abstract Programming ) 语言中没有许多具体的数据类型,要解决实际问题,很大部分工作是要建立数据模式与实际问题的对应,也就是建立抽象数据类型的过程 对象化编程就是基于分层分类的抽象数据类型之具体编程,它能更好地实现数据结构和算法,便是将N.Wirth的程序公式: 程序=算法+数据结构 具体化为: 程序=算法+抽象数据类型 抽象编程 ( Abstract Programming ) 抽象编程 ( Abstract Programming ) 程序=算法+抽象数据类型 编程=类使用编程+类实现编程 编程质量 ( Programming Quality ) 编程质量要求 编程质量 ( Programming Quality ) 编程质量 ( Programming Quality ) 易编程性: 只是对采用好的编程方法或更高级语言而言,抽象程度越大,越易编程 对象化编程在抽象数据类型的创建上做了大量的工作,因而赢得了应用程序编写的方便与快捷 编程质量 ( Programming Quality ) 安全性: 编程在算法设计上是挖空心思的劳动过程,而在运用语言对之描述上应该潇洒自在:容易表达,不容易出错,运行上更安全。好的编程方法能够帮助程序员实现潇洒编程 抽象数据类型中可以将大量安全代码嵌入其中,从而使应用编程潇洒自在 实现抽象数据类型的过程本身也是使用其他抽象数据类型的应用编程,同样也充满着潇洒与自在 编程质量 ( Programming Quality ) 可维护性: 指局部修改不影响系统全局的总体性能,而系统产生的问题通常可以通过局部维护(修改或更换部件)来解决。 模块化编程使程序可拆装,可局部修改,而不影响整体性能与工作,因而可维护性强,过程化编程是将过程模块化,具有一定的可维护性;对象化编程是将数据类型也模块化,从而导致更方便的维护性能 编程质量 ( Programming Quality ) 可扩充性: 指系统扩展时,只增加扩展代码,而对原系统的正常运作只作很少的修改甚至不修改 功能扩展的影响: 过程化编程,会涉及多处扩展代码与原系统不和谐所带来的修改 对象化编程,如
您可能关注的文档
最近下载
- 2025年人教版八年级下册语文期末试卷含答案.pdf VIP
- 【新教材】花城版一年级音乐上册(艺术唱游)全册核心素养教案+教学计划(全35页)(2024年).doc VIP
- 二 比较文学的对象、体系与方法.ppt VIP
- 电商直播人才培养模式研究.pptx VIP
- 2020年版中国药典药物检测相关知识考试试卷.docx
- 2025割草机器人市场规模技术路线及竞争格局分析报告.docx
- 体育心理学(第三版) 季浏PPT课件.pptx
- 四年级上册“快乐读书吧” 测试题及答案 .pdf VIP
- 家用空调主板整机可靠性测试标准.docx VIP
- 2025秋教科版(2024)小学科学三年级上册教学计划及进度表(2025-2026学年第一学期).docx VIP
文档评论(0)