- 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.3面向对象的基本概念 1.3.1背景 50年代为了让计算机作些有用的事情,人们必须充分利用计算机硬件的性能,精确地计算并分配存贮字和指令的时钟周期,程序结构是整体式如同一块铁板,随着计算机硬件的发展,人们逐渐认识到如同铁板一块般的整体式程序虽然是解决问题的最有效的方案,但并不是最佳方案,越来越注重程序的可理解性,提出了模块化的程序结构。 ? 怎样划分模块: ·(按)功能:每个模块做且仅做一件事; ·数据结构:每个模块仅容纳一个数据结构 ·事件驱动:每个模块识别一个事件且对这 个事件做出反应; ·现实世界中的事物:每个模块对应现实世 界中的唯一一件事物(称之为 对象)。 面向对象(Object-Oriented)不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系以及如何进行系统构造的软件方法学。 特点: (1)面向对象的技术建立的模型与客观世界一致,因而便于理解(图3.1); (2)适应变化的需要,修改局限在模块中; (3)可复用性 1.3.2对象(Object) 一般意义来讲,对象是现实世界中存在的一个事物, 可以是有形的,如一个桌子,可以是无形的,如一个开发项目。 对象是构成现实世界的一个独立的单位,具有自己的静态特征(用数据描述)和动态特征(行为或具有的功能)。举例:张三、李四。 软件系统中抽象地表示现实世界中的对象,数据表示特征,用操作表示对象的行为。 例:人:姓名、年龄、职业等特征,跑、跳等行为; (1)定义:对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组属性和一组对属性进行操作的服务组成。 例图 3.3 Tom Operations Store Age Age? Walk Danc (2)信息隐藏:从对象外部看不知道对象的信息是怎样定义的,不知道操作是如何实现的,只知道有什么操作。 信息:如年龄、性别,又称对象的状态。什么类型?长度? 操作:用于存取信息,也可以与内部信息无关,如跳舞。 (3)对象间的关系:例如,发票对象知道顾客对象,哪个顾客哪个单位要开发票。人可以知道另一个人,相互认识。 两种关系: 静态关系:长期存在的关系,两个对象相互知道对方是否存在。 例:组成关系是一种静态关系,Tom是由他的头、胳膊、腿和躯干组成。图3.4 为什么将人划分成几个组成部分? —便于理解,实现,可复用。 (两个胳膊复用) 动态关系:对象间互相进行通信。 例:跳舞,一个人请另一个人一起跳舞,动态地建立关系。 (4)如何定义信息和行为: 图3.6 从对象内部看。 (5)消息:对象发出的服务请求称为消息 (用来激发对象的一个行为)。 1.3.3 类和实例 系统是由许多相互通信的对象组成的,对象有些共同的特征,根据特征可以将对象分组,称为类。如:Tom 、Mary和John三个人有类似的行为和信息结构。因此可以定义Person类。 (1)类的定义:类是某些对象的模板,抽象地描述了属于该类的全部对象的内部结构,同一类对象的信息属性和操作。 (2)实例的定义:实例是由类建立的对象。 类描述了实例的结构,而实例的当前状态是由实例的执行的操作定义的。 举例:图3.10 Tom、John和Mary是类Person的实例,不同的实例有自己的标识,具有各自的信息(状态)。由于操作可能不同,因此状态也不同。 (3)怎样划分类 把类Person中共同的信息和操作提取出来,放在一个类中,实际上具有不同的属性。如由于性别不同,因此建立两个新类Male和Female。如图3.12 ,图3.13 。 共同:这两个类有共同的信息和行为,Age,Friend,Address,Jump,Walk应该抽象出来,避免重复,这在以后讨论。 不同:Dance,Husband,Wife (4)怎样建立一个实例:由类的行为建立实例。图3.10 (相对于对象的行为) 总结:类定义了对象的操作和信息结构,实例是由类建立的,定义了对象的状态。 1.3.4 继承性 (1)概念:类之间具有共性(信息结构和行为),抽取出来放在一个一般类中,如把Male和Female中共同的特性放在Person类中,不同的特性放在特殊类中分别描述,特殊类的对象拥有一般类的全部属性与服务,称作特殊类对一般类的继承。 Male和Female类可以从Person类继承共性,这样避免了重复。见图3.14 复用共同的描述,继承性往往被看作是软件复用的核心概念。 (2)
文档评论(0)