- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
5.1面向对象程序设计的思想
5.2类和对象
5.3类和封装
5.4类和继承
5.5类和多态
5.6接口
5.7包
5.8面向对象设计原则;5.1面向对象程序设计的思想;软件开发的主要目的是建立软件系统,这些软件系统能为人们服务并增强人们在现实世界中解决问题的能力。一个软件系统一般由两部分组成:一个是模型,另一个是算法。前者代表现实世界中的相关部分;后者包含操作和处理模型所涉及的计算。
面向对象的概念如图5.1所示。
面向对象的模型代表了软件系统在数据和计算方面的一个平衡的观点。面向对象的模型是由“对象”构成的,对象本身包含了数据和相关的计算。复杂系统的分解基于对象和类结构。面向对象的软件开发方法与传统的软件开发方法有很大的差别,它从完全不同的角度看待现实世界并提取本质的和相关的特征。;5.1.1面向对象的方法学
软件开发面临的挑战就是寻求有效的解决方案,以控制软件系统的复杂性、管理软件系统的长效性和演变性,并交付具有更高可靠性和可用性的软件系统。传统的结构设计技术虽然有许多优点,但也有比较明显的缺点:用这种技术开发出来的软件,其稳定性、可修改性和可重用性都比较差。面向对象的软件开发方法学是当前广泛采用的解决方案,其目的是改善软件系统的可靠性和软件开发的成本效益。
和传统的、成熟的工程学科相比,软件工程所采用的更像是工匠技术而不是工程技术。软件开发者在很大程度上依赖于测试和调试(即尝试和失败),以建立他们对于自己产品的信心。软件开发的成功很难通过对设计的分析得到保证。
成熟的工程领域可以使成功的经验和知识得以反复运用,设计知识和解决方案往往被组织并编篡为指南或手册,以使一般和常规的设计不仅更简单、更快捷,而且更可靠、更可信和可管理。在软件开发方面,尽管已经积累了许多设计知识和经验,但很少被系统地编篡成册,无法受益于以往的经验和设计方案,每个软件系统的设计都被当成创新设计。为克服这个弊端,软件开发的过程必须有一个机制,以完成设计分析、保证已知失败不重复出现并将设计知识??篡成手册。面向对象开发过程中的活动与以前开发过程中的活动有着完全不同的焦点,同时也采用完全不同的技术、表示法、工具和确认标准。面向对象开发过程的基本活动一般包括:概念化、面向对象分析和建模、面向对象设计、实现和维护。
;其中,面向对象设计的目的是建立实现架构,设计用对象和类以及它们之间的关系来表达。面向对象设计主要关心以下几个方面:
(1)设计是否满足了提到的所有需求和约束?是否足以提供所有期望的服务?
(2)设计是否具有适应未来变化的足够的灵活性?
(3)设计对实现来说是否可行?如果是,能否有效地实现?
面向对象的软件开发方法学特别适合迭代开发,而迭代软件开发过程已变得很流行,并在实践中被人们所接受(迭代软件开发过程的一个关键假设是认为软件开发的整个生命期中都将出现改动,软件开发过程不是试图阻止改动或使改动最小,而是试图有效地管理和实现改动)。面向对象的软件开发过程包含多个连续的迭代过程,每个迭代包括:确定类、确定类的语义(即属性和行为)、确定类之间的关系、定义类接口、实现类。每个迭代只处理所开发系统相对小的增量。这样,系统是以增量形式而非作为一个整体开发的,迭代过程持续到整个系统开发完成。;5.1.2面向对象程序设计的基本概念
面向对象程序设计的基本原则是:按照人们通常的思维方式建立问题的解空间,要求解空间尽可能自然地表现问题空间。为了实现这个原则,必须抽象出组成问题空间的主要事物,建立事物之间相互联系的概念,还必须建立按人们一般思维方式进行描述的准则。在面向对象程序设计中,对象和消息传递分别表现事物以及事物之间的相互关系;类和继承是按照人们一般思维方式的描述准则;通过封装能将对象的定义和对象的实现分开,通过继承体现类和类之间的相互关系以及带来的实体的多态性,从而构成了面向对象的基本特征。
面向对象程序设计的基本概念有:类(Class)、对象(Object)、抽象(Abstract)、实例(Instance)、消息(Message)、方法(Method)、属性(Attribute)、封装(Encapsulation)、继承(Inheritance)、重载(Overloading)和多态(Polymorphism)。
1.对象(Object)
对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性(数据)和对这组属性进行操作的一组服务(方法)组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用,它是一组属性并有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。
主动对象是一组属性和一组
您可能关注的文档
- 《新媒体创意与作品设计(全彩慕课版)》-习题及答案 .docx
- 《新媒体创意与作品设计(全彩慕课版)》-教案全套 郭伟 第1--9章 新媒体与新媒体创意设计---微信小程序设计.doc
- 《新媒体创意与作品设计(全彩慕课版)》-教学大纲 .doc
- 《新媒体创意与作品设计(全彩慕课版)》-课程标准 .doc
- 基于新信息技术的Java程序设计基础 课件 第2章 Java程序设计基础.pptx
- 基于新信息技术的Java程序设计基础 课件 第3章 Java流程控制语句.pptx
- 基于新信息技术的Java程序设计基础 课件 第4章 数组与字符串.pptx
- 基于新信息技术的Java程序设计基础 课件 第6章 异常处理.pptx
- 基于新信息技术的Java程序设计基础 课件 第7章 多线程程序设计.pptx
- 基于新信息技术的Java程序设计基础 课件 第8章 数据库编程.pptx
文档评论(0)