第8章 类和对象的特性.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* */35 * 第8章 类和对象的特性 ? ? ? ? ? ? 面向对象程序设计方法概述 类的声明和对象的定义 类的成员函数 对象成员的引用 类和对象的简单应用举例 类的封装性和信息隐蔽 数学科学学院:汪小平 wxiaoping325@163.com 一、面向对象程序设计方法概述 面向过程的设计方法 重点: 如何实现细节过程,将数据与函数分开。 形式: 主模块+若干个子模块(main()+子函数)。 特点: 自顶向下,逐步求精——功能分解。 缺点: 效率低,程序的可重用性差。 1、面向过程与面向对象简介 面向对象的方法 目的: 实现软件设计的产业化。 观点: 自然界是由实体(对象)所组成。 程序设计方法: 使用面向对象的观点来描述模仿并处理现实问题。 要求: 高度概括、分类、和抽象。 一、面向对象程序设计方法概述 2、面向对象程序设计中的几个概念 一、面向对象程序设计方法概述 (1)对象与类: 对象(Object)是客观事物或概念的抽象表述,即对客观存在的事物的描述统称为对象。 对象可以是事、物或抽象概念,是将一组数据和使用该数据的一组基本操作或过程封装在一起的实体。   属性 (attribute) -- 对象本身的性质。   操作(operation) -- 给对象定义一组运算。   对象将它自身的属性及运算“包装起来”,称为“封装”(encapsulation). 对象的最基本的特征是封装性和继承性。 一、面向对象程序设计方法概述 类又称对象类(Object Class),是一组具有相同属性和相同操作的对象的集合。 在一个类中,每个对象都是类的实例(instance) ,它们都可以使用类中提供的函数。 类具有属性,用数据结构来描述类的属性。 类具有操作,它是对象的行为的抽象,操作实现的过程称为方法(method) ,方法有方法名、方法体和参数。 由于对象是类的实例,在进行分析和设计时,通常把注意力集中在类上,而不是具体的对象上。 一、面向对象程序设计方法概述 (2)抽象: 抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。 先注意问题的本质及描述,其次是实现过程或细节。 数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。 代码抽象:描述某类对象的共有的行为特征或具有的功能。 抽象的实现:通过类的声明。 一、面向对象程序设计方法概述 数据抽象: int Hour, int Minute, int Second 代码抽象: SetTime(), ShowTime() 抽象实例——钟表: 一、面向对象程序设计方法概述 数据抽象: char *name,char *gender,int age,int id 代码抽象: 生物属性角度: GetCloth(), Eat(), Step(),… 社会属性角度: Work(), Promote() ,… 抽象实例——人: 一、面向对象程序设计方法概述 (3) 继承与重用: 继承是使用现存的定义作为基础,建立新定义的技术。是父类和子类之间共享数据结构和方法的机制,这是类之间的一种关系。 继承性分:单重继承和多重继承。 单重继承:一个子类只有一个父类。即子类只继承一个父类的数据结构和方法。 多重继承:一个子类可有多个父类。继承多个父类的数据结构和方法。 基类 子类A 子类B 现存类定义 父类(基类) 新类定义 子类(派生类) 继 承 一、面向对象程序设计方法概述 (4)多态性和动态绑定: 多态性(Polymorphism)是指相同的操作或函数、过程作用于不同的对象上并获得不同的结果。 即相同的操作的消息发送给不同的对象时,每个对象将根据自己所属类中定义的操作去执行,产生不同的结果。 例如:“绘图”操作作用在“椭圆” 和“矩形” 上,画出不同的图形。 动态绑定(dynamic binding)是在运行时根据对象接收的消息动态地确定要连接的服务代码。 使用虚函数可实现动态联编,不同联编可以选择不同的实现,这便是多态性。继承是动态联编的基础,虚函数是动态联编的关键。 3、面向对象技术的特点 一、面向对象程序设计方法概述 (1) 对软件开发过程所有阶段进行综合考虑。使问题空间与解空间具有一致性,降低复杂性。 (2) 软件生存周期各阶段所使用的方法、技术具有高度的连续性,用符合人类认识世界的思维方式来分析、解决问题。 自然、连续 问题空间 (现实世界) 解空间

文档评论(0)

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

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

1亿VIP精品文档

相关文档