- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Joho Lewis《Java Software Solutions》第六版课件第三章
第三章 面向对象与对象模型 面向对象的程序设计(OOP)已成为现代软件开发的必然选择。通过掌握面向对象的技术,能开发出复杂、高级的系统,这些系统是完整健全的,但又是可扩充的。OOP是建立在把对象作为基本实体看待的面向对象的模型上的,这种模型可以使对象之间能相互交互作用。 面向对象程序设计在一个好的面向对象程序设计语言(OOPL)的支持下能得到最好的实现。Java就是一种优秀的OOPL,它提供了用来支持面向对象程序设计模型所需的一切条件。Java有自己完善的对象模型,并提供了一个庞大的Java类库,并有一套完整的面向对象解决方案和体系结构。 本章介绍面向对象的概念和对象建模的方法,讲解Java对象模型中的核心部分:类及类的成员。使读者学会如何用创建和使用Java对象。 3.1 面向对象的概念 面向对象方法学是面向对象程序设计技术的理论基础。面向对象程序设计具有符合人类抽象思维的认知习惯,使得程序开发过程与人类的认知过程同步,便于建立规范化的分析设计方法,使程序具有更好的封装性、可读性、可维护性、可重用性等一系列优点。 面向对象技术以基本对象模型为单位,将对象内部处理细节封装在模型内部,重视对象模块间的接口联系和对象与外部环境间的联系,能层次清晰地表示对象模型。面向对象的特点主要概括为抽象性、继承性、封装性和多态性。 模型提供了一个物理系统的抽象,模型可以让工程师们忽略无关的细节而把注意力集中到系统的重要部分来进行思考。软件模型除了用于系统设计还可以用在很多的方面,例如预期系统的质量、当系统的某些方面变化时推理特定的属性、测试关键的系统特征等。模型可以先开发出来用于指导物理系统的开发,或者也可以由一个已存在的系统或者开发中的系统产生,作为理解系统行为、优化系统实现的手段。统一建模语言UML是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。 3.1.1 面向对象基本原理 面向对象技术,正是利用对现实世界中对象的抽象和对象之间相互关联和相互作用的描述来对现实世界进行模拟,并且使其映射到目标系统中。所以面向对象的特点主要概括为抽象性、继承性、封装性和多态性。 抽象性——指对现实世界中某一类实体或事件进行抽象,从中提取共同信息,找出共同规律,反过来又把它们集中在一个集合中,定义为所设计目标系统中的对象。 继承性——新的对象类由继承原有对象类的某些特性或全部特性而产生出来,原有对象类称为基类(或超类、父类),新的对象类称为派生类(或子类),派生类可以直接继承基类的共性,又允许派生类发展自己的个性。继承性简化了对新的对象类的设计。 封装性——是指对象的使用者通过预先定义的接口关联到某一对象的服务和数据时,无需知道这些服务是如何实现的。即用户使用对象时无需知道对象内部的运行细节。这样,以前所开发的系统中已使用的对象能够在新系统中重新采用,减少了新系统中分析、设计和编程的工作量。 多态性——是指不同类型的对象可以对相同的激励做出适当的不同相应的能力。多态性丰富了对象的内容,扩大了对象的适应性,改变了对象单一继承的关系。 3.1.2 建立面向对象的思维 对象是建立面向对象程序所依赖的基本单元。用更专业的话来说,所谓对象就是一种代码的实例,这种代码执行特定的功能,具有自包含或者封装的性质。这种封装代码通常叫做类 。 “封装”的对象具有自己的函数,这种函数被称作“方法”,而对象的属性则被称为“字段”。当对象内部定义了字段的时候,它们通常不能扩展到实例以外。 用于创建对象的类有一种功能强大的特性,这就是它们可以继承其他类。 在继承了类后,我们可以通过覆盖(override)方法来获得希望的结果。 面向对象强调从问题域的概念到软件程序和界面的直接映射;心理学的研究也表明,把客观世界看成是许多对象更接近人类的自然思维方式。对象比函数更为稳定;软件需求的变动往往是功能相关的变动,而其功能的执行者对象通常不会有大的变动。另外,面向对象的开发也支持、鼓励软件工程实践中的信息隐藏、数据抽象和封装。在一个对象内部的修改被局部隔离。面向对象开发的软件易于修改、扩充和维护。 3.1.3 UML和对象建模 模型与建模 模型提供了一个物理系统的抽象,模型可以让工程师们忽略无关的细节而把注意力集中到系统的重要部分来进行思考。从软件建模技术的发展过程中,人们认识到建模语言是一种图形化的文档描述性语言,利用它可以解决在软件建模过程中存在的沟通障碍问题。 3.1.3 UML和对象建模 统一建模语言UML是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它可以把人们对所需要构建系统的想法和理解记录下来,以便用于对系统的分析、设计、研究、配置
您可能关注的文档
- 隋唐时期的中国建筑(上).doc
- 12受用一生的75个简单道理.ppt
- 11纱线的拉伸性质.ppt
- 1观念.ppt
- 2.简单的道理.ppt
- 1.9十一个笑话十一个道理.ppt
- 1.4南京市公安帐单.ppt
- 11个笑话11个道理.ppt
- 2011年8月变态心理学与健康心理学.ppt
- 2012博客.ppt
- C++前缀树字典树的学习与模拟实现代码示例.docx
- 2024-2025学年湖州职业技术学院《形势与政策》期末考试模考模拟试题含答案详解(夺分金卷).docx
- 2024-2025学年郑州理工职业学院电视播音主持期末考试模拟试题附参考答案详解AB卷.docx
- 2024-2025学年度新疆铁道职业技术学院《形势与政策》期末考试预测复习精选附答案详解.docx
- 2024-2025学年度江苏食品药品职业技术学院《形势与政策》期末考试全真模拟模拟题及完整答案详解1.docx
- 2024-2025学年度河北东方学院《形势与政策》期末考试每日一练试卷含答案详解(满分必刷).docx
- 2024-2025学年监理工程师模拟试题及完整答案详解(全优).docx
- 2024崇左幼儿师范高等专科学校《形势与政策》期末考试考试黑钻押题及参考答案详解【突破训练】.docx
- 2024-2025学年沧州幼儿师范高等专科学校《形势与政策》期末考试题库试题附完整答案详解(名校卷).docx
- 2024-2025学年电梯考试考前冲刺练习题附完整答案详解(精选题).docx
文档评论(0)