c++面向对象设计规范.ppt

  1. 1、本文档共417页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的思想最初出现于挪威奥斯陆大学和挪威计算机中心共同研制的Simula 67语言中,随着的Smalltalk---76和80语言推出,面向对象的的程序设计方法得到了比较完善的实现。 此后,面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统,交互式界面,分布式系统,网络管理结构和人工智能等领域。 面向对象思想 数据抽象 – 一种设计方法 把一组数据及作用与其上的操作组成一个设计实体或单位。接口说明外部可见,其实现是隐蔽的,不可见的。 发展的三个阶段 面向对象思想 抽象数据类型 抽象数据类型是指“一个值集和作用在该值集上的操作集”。抽象数据类型的定义只决定于其逻辑特性,与其具体的计算机内部实现无关。一个抽象数据类型可以分解为语法、语义、表示和算法4个部分。 面向对象思想 抽象数据类型的实现 实现抽象数据类型需要借助于高级程序设计语言; 在面向过程的语言中,用户可以自己定义数据类型; 在面向对象的程序设计语言中,借助于对象描述抽象数据类型。(Class) 面向对象思想 问题求解 面向对象设计方法:实现问题空间和问题求解空间的近似和直接模拟。 面向对象的特点 封装机制 基于消息的通信 继承机制 多态机制 面向对象的世界观 把客观世界从概念上看成是一个由相互配合而协作的对象所组成的系统 面向对象=对象+分类+继承+通信 一个实例——椅子 一个面向对象的实例——椅子 面向对象的基本概念 对象(Object) 对象是用来描述客观存在的事物,它是构成系统的基本单位,是对客观世界中事物的抽象描述。 面向对象的基本概念 对象是由私有数据(属性)及作用于其上的一组操作(行为)所构成的一个封闭整体 由于对象的数据是私有的,所以要想访问其数据的正确方法是向该对象发送消息,让对象自身选择其内部相应的操作以完成对该项数据的访问 对象的动作取决于外界给对象的刺激,这就是消息,消息告诉对象所要求它完成的功能。对象具有一定的智能功能,即“知道”如何选择相应的操作来处理对象所接收的消息 从设计人员的角度看,对象是一个完成特定功能的程序块 从用户的角度看,对象为他们提供了所希望的行为 面向对象的基本概念 对象(Object) 对象标识 对象生命周期 面向对象的基本概念 属于某类的具体对象就是该类的实例。 一个类的不同实例必定具有: 相同的操作(或行为)的集合 相同的信息结构或属性定义,但可以有不同的属性值 不同的对象标识 面向对象的基本概念 消息(Message) 对象之间的联系是通过传递消息来实现的。 消息就是向对象发出的服务请求(互相联系、协同工作等)。 是对象之间进行通讯的一种数据结构。 消息统一了“数据流”和“控制流”。 面向对象的基本概念 消息 - 消息传送与函数调用的区别 (1)函数调用可以带或不带参数,但是消息至少带一个参数,它表明接收该消息的对象,消息中告诉对象做什么的部分称为消息操作; (2)消息操作名类似于函数名,其本质区别在于:函数名代表一段可执行的代码,但消息操作名具体功能的选定还取决于接收消息的对象本身 (3)函数调用是过程式的(如何做),消息传送是说明式的(做什么),具体如何做,由对象根据收到的消息自行确定。 继承 单继承 继承 多继承 面向对象的基本概念 封装(Encapsulation) 封装是一种信息隐蔽技术,就是把对象的属性和行为相结合构成一个独立的基本单位,用户只能见到对象封装界面上的信息,对象内部对用户是隐蔽的。封装的目的在于将对象的使用者和对象的设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息访问对象 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。 面向对象的基本概念 封装 vs 继承 矛盾吗?No! 封装性主要指的是对象的封装性,引入继承机制后,对象仍然是封装地很好的实体,其它对象与它通信只能发送消息。 相似性:共享代码! 继承:静态共享代码 封装:动态共享代码 面向对象的基本概念 多态(Polymorphism) 即一个名字具有多种语义。 同一对象接收到不同消息采用不同的行为方式 不同对象收到相同消息时产生不同的动作 重载(overload) 动态绑定 类属 多态性和动态绑定 多态性(Polymorphism)是指相同的操作或函数、过程作用于不同的对象上并获得不同的结果。 即相同的操作的消息发送给不同的对象时,每个对象将根据自己所属类中定义的操作去执行,产生不同的结果。 例如: “绘图”操作,作用在“椭圆” 和“矩形” 上,画出不同的图形。 多态性的实现举例 多态 类与对象 本章主要内容 面向对象的思想

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档