- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象技术 第一章 面向对象方法概论 本章内容: 面向对象方法的基本原理和概念; 成为当今软件主流技术的原因; 对于改进软件开发,促进计算机技术发展的重要意义; 1.1 什么是面向对象 1980年代初期的定义: 面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象、类、继承、封装、消息等基本概念进行程序设计。 面向对象的基本思想: 从现实中客观存在的事物(即对象)出发构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。 面向对象方法的主要特点: 从问题域中存在的客观事物出发构造软件系统,用对象作为这些事物的抽象表示,并以此作为系统的基本构成单位。 事物的静态特征用对象的属性表示,事物的动态特征用对象的服务表示。 对象的属性与服务结合为一体,成为一个独立的实体,对外屏蔽其内部细节(称为封装)。 对事物进行分类。具有相同属性/服务的对象归为一类,类是这些对象的抽象描述,每个对象是类的一个实例。 在不同程度上运用抽象的原则得到较一般的类和较特殊的类。特殊类继承一般类的属性和服务,面向对象方法支持继承关系的描述和实现,以简化系统的构造过程及其文档。 复杂对象可以包含简单的对象(称为聚合)。 对象之间通过消息进行通信,以实现对象之间的动态联系。 通过关联表达对象之间的静态联系。 软件开发中的面向对象方法 面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造软件系统的开发方法。 1.2 从认识论看面向对象方法的形成 意义: 对问题域的正确认识是软件开发工作的首要任务,没有对问题域的正确认识,就不可能产生一个正确的系统。 1.2.1 软件开发——事物的认识和描述 认识论的角度看待软件开发过程: 对所要解决问题及其相关事物的认识。即通过人的思维,对系统问题域中的客观事物,以及要解决的问题产生正确的认识和理解,并找到解决问题的方法。 基于这种认识所进行的描述。即用某种编程语言把问题域中的事物、问题及其解决方法表达出来。 1.2.2 语言的鸿沟 人们使用的自然语言与计算机能够执行的编程语言之间所存在的差距被称为“语言的鸿沟”,其实质是认识和描述之间的鸿沟。 图1.1 语言的鸿沟 1.2.3 编程语言的发展是鸿沟变窄 机器语言 汇编语言 高级语言 面向对象的语言 图1.2 语言的发展——鸿沟变窄 1.2.4 软件工程学的作用 两位研究面向对象软件工程的美国学者 (Stave Halladay和Michael Wiebel)曾这样说:“一般的面向对象编程(OOP)思路不过是一批乌合之众,把灵机一动、随机应变的技巧用于他们绞尽脑汁抽象出来的‘对象’而已。即使是最优秀的OOP程序员,他们所能对付的极限也莫过于中等规模的开发项目。倘若程序员经验不足,系统规模又很大,那么采用OOP只能把你引入漫无边际的泥沼之中。” 一方面是几乎没有一位软件工程学者认为 OOP 是完美无缺的,另一方面是 OOP 势如破竹,近乎每一种最新推出的程序开发工具或语言都采用了 OOP 思路;一方面是越来越多的“乌合之众”在毫无章法、随心所欲地处理着“对象”,另一方面是经过近 30 年的积累已经拥有了最大多数用户的结构化软件方法的日渐萎缩……面对这一现实,研究软件工程方法学的专家们纷纷指出:“当前摆在软件开发方法学面前的一个重要课题是:从理论上理解 OOP 具有强大生命力的天然合理性,并完善面向对象软件工程方法学体系。” 传统的软件工程方法—结构化软件工程方法 需求分析 总体设计和详细设计 编程和测试 软件维护 面向对象的软件工程方法 面向对象的分析 面向对象的设计 面向对象的编程 面向对象的测试 面向对象的软件维护 分析就是问题抽象(做什么),设计是问题求解(怎么做),实现是问题的解(结果)。任何方法学对客观世界的抽象和求解过程皆如此。 在问题抽象阶段,结构化方法面向过程,按照数据变换的过程寻找问题的结点,对问题进行分解。与面向对象方法不同,描述数据变换的功能模型是结构化方法的重点。如果问题世界的功能比数据更复杂或者更重要,那么结构化方法仍然应是首选的方法学。如果数据结构复杂且变换并不多,那么如以过程主导分析和设计,一旦有系统变更就会给下游开发带来极大混乱。 在设计上,结构化方法学产生自顶向下、结构清晰的系统结构。每个模块有可能保持较强的独立性,但它往往与数据库结构相独立,功能模块与数据库逻辑模式间没有映射关系,程序与数据结构很难封装在一起。如果数据结构复杂,模块独立性很难保证。
您可能关注的文档
最近下载
- 湖北省武汉市十一初级中学2024-2025学年七年级上学期10月月考英语试卷(含答案,无听力音频听力原文).pdf VIP
- T_ZJATA 0033-2025 塑胶玩具中双酚类和烷基酚类物质迁移量的测定 液相色谱-串联质谱法.docx VIP
- 《“探界者”钟扬》精品教案精品教案.doc VIP
- 知识点汇总_古代汉语.pdf VIP
- 活动执行质量保障措施方案.pdf VIP
- 2024年新课标人教版小学体育水平三全册教案.docx
- 2025年注册安全工程师《法律法规》30个必考点终极预测与高仿真模拟题库.pdf
- 2024-2025学年初中数学六年级上册(2024)鲁教版(五四学制)(2024)教学设计合集.docx
- T_ZJATA 0033-2025 塑胶玩具中双酚类和烷基酚类物质迁移量的测定 液相色谱-串联质谱法.pdf VIP
- T_ZBXH 141-2025 甜菜旋幽夜蛾防控技术规程.pdf VIP
文档评论(0)