java程序设计第2章.ppt

  1. 1、本文档共138页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 类与对象的基本概念 目录 2.1 面向对象的程序设计方法概述 2.2 类与对象 2.3 对象初始化和回收 2.4 应用举例 2.5 UML简介 2.6 本章小节 2.1 面向对象的程序设计方法概述 面向对象的程序设计 与结构化程序设计方法相比,更符合人类认识现实世界的思维方式 已成为程序设计的主流方向 涉及的主要概念 抽象 封装 继承 多态 2.1 面向对象的程序设计方法概述(续) 对象 现实世界中 万物皆对象 都具有各自的属性,对外界都呈现各自的行为 程序中 一切都是对象 都具有标识 (identity), 属性和行为(方法) 通过一个或多个变量来保存其状态 通过方法(method) 实现他的行为 2.1 面向对象的程序设计方法概述(续) 类 将属性及行为相同或相似的对象归为一类 类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为 在面向对象的程序设计中,每一个对象都属于某个特定的类, 2.1 面向对象的程序设计方法概述(续) 结构化程序设计 通常由若干个程序模块组成,每个程序模块都可以是子程序或函数 数据和功能分离,代码难于维护和复用 面向对象程序设计 基本组成单位是类 程序在运行时由类生成对象,对象是面向对象程序的核心 对象之间通过发送消息进行通信,互相协作完成相应功能 2.1.1 抽象 抽象 忽略问题中与当前目标无关的方面,以便更充分地注意与当前目标有关的方面 计算机软件开发中所使用的抽象有 过程抽象 数据抽象 2.1.1 抽象(续) ——过程抽象 过程抽象 将整个系统的功能划分为若干部分,强调功能完成的过程和步骤,而隐藏其具体的实现 任何一个明确定义的功能操作都可被看作单个的实体,尽管这个操作实际上可能由一系列更低级的操作来完成 基于过程抽象的两个标准程序设计技术 过程分解 递归技术 2.1.1 抽象(续) ——数据抽象 数据抽象 将需要处理的数据和这些数据上的操作结合在一起,抽象成不同的抽象数据类型 每个抽象数据类型既包含了数据,也包含了针对这些数据的操作 相对于过程抽象,数据抽象是更为合理的抽象方法 2.1.1 抽象(续) 例: 钟表 数据(属性) int Hour; int Minute; int Second; 方法(行为) SetTime(); ShowTime(); 2.1.1 抽象(续) 例: 人 数据(属性) char *name; char *gender; int age; int id; 方法(行为) 生物行为 Eat(), Step(),… 社会行为 Work(), Study(),… 2.1.2 封装 封装 是一种信息隐蔽技术 利用抽象数据类型将数据和基于数据的操作封装在一起 用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的 封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象 2.1.2 封装(续) 封装的定义 清楚的边界 所有对象的内部信息被限定在这个边界内 接口 对象向外界提供的方法,外界可以通过这些方法与对象进行交互 受保护的内部实现 功能的实现细节,不能从类外访问。 2.1.2 封装(续) 封装的意义 在面向对象的程序设计中,类封装了数据及对数据的操作,是程序中的最小模块 禁止了外界直接操作类中的数据,模块与模块之间只能通过严格控制的接口进行交互,这使得模块之间的偶合度大大降低 保证了模块具有较好的独立性,程序维护和修改较为容易 2.1.3 继承 继承 是指新的类可以获得已有类(称为超类、基类或父类)的属性和行为,称新类为已有类的派生类(也称为子类) 在继承过程中派生类继承了基类的特性,包括方法和实例变量 派生类也可修改继承的方法或增加新的方法,使之更适合特殊的需要 有助于解决软件的可重用性问题,使程序结构清晰,降低了编码和维护的工作量 2.1.3 继承(续) 单继承 任何一个派生类都只有单一的直接父类 类层次结构为树状结构 多继承 一个类可以有一个以上的直接父类 类层次结构为网状结构,设计及实现比较复杂 Java语言仅支持单继承 2.1.4 多态 多态 一个程序中同名的不同方法共存 主要通过子类对父类方法的覆盖来实现 不同类的对象可以响应同名的消息(方法) ,具体的实现方法却不同 使语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序方法同名问题 2.2 类与对象 类与对象 在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(Class) 一个类是对一类对象的描述。类是构造对象的模板 对象是类的具体实例 2.2.1 类的声明 声明形式 [public] [abstract

文档评论(0)

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

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

1亿VIP精品文档

相关文档