java第2章(类与对象的基本概念).ppt

  1. 1、本文档共138页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java第2章(类与对象的基本概念).ppt

第2章 类与对象的基本概念 2.1 面向对象的程序设计方法概述 面向对象的程序设计与结构化程序设计方法相比,更符合人类认识现实世界的思维方式,已成为程序设计的主流方向。 涉及的主要概念 抽象 封装 继承 多态 对象 现实世界中 万物皆对象 都具有各自的属性,对外界都呈现各自的行为 计算机世界(程序)中 一切都是对象 都具有标识 (identity)、属性和行为(方法) 通过一个或多个变量来保存其状态 通过方法(method,也被译作函数) 实现它的行为 类 将属性及行为相同或相似的对象归为一类。 类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为。 在面向对象的程序设计中,每一个对象都属于某个特定的类。 结构化程序设计 通常由若干个程序模块组成,每个程序模块都可以是子程序或函数 数据和功能分离,代码难于维护和复用 面向对象程序设计 基本组成单位是类 程序在运行时由类生成对象,对象是面向对象程序的核心 对象之间通过发送消息进行通信,互相协作完成相应功能 2.1.1 抽象 抽象 忽略问题中与当前目标无关的方面,以便更充分地注意与当前目标有关的方面 计算机软件开发中所使用的抽象有 过程抽象 数据抽象 过程抽象 将整个系统的功能划分为若干部分,强调功能完成的过程和步骤,而隐藏其具体的实现。 任何一个明确定义的功能操作都可被看作单个的实体,尽管这个操作实际上可能由一系列更低级的操作来完成。 基于过程抽象的两个标准程序设计技术 过程分解 递归技术 数据抽象 将需要处理的数据和这些数据上的操作结合在一起,抽象成不同的抽象数据类型。 每个抽象数据类型既包含了数据,也包含了针对这些数据的操作。 相对于过程抽象,数据抽象是更为合理的抽象方法。 例:钟表 数据(属性) int Hour; int Minute; int Second; 函数(行为) SetTime( ); ShowTime( ); 例:人 数据(属性) String name; char gender; int age; int id; 函数(行为) 生物行为 Eat( ), Step( ),… 社会行为 Work( ), Study( ),… 2.1.2 封装 封装 是一种信息隐蔽技术,利用抽象数据类型将数据和基于数据的操作封装在一起。 用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的。 封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象。 封装的定义 清楚的边界 所有对象的内部信息被限定在这个边界内。 接口 对象向外界提供的方法,外界可以通过这些方法与对象进行交互。 受保护的内部实现 功能的实现细节,不能从类外访问。 封装的意义 在面向对象的程序设计中,类封装了数据及对数据的操作,是程序中的最小模块。 禁止了外界直接操作类中的数据,模块与模块之间只能通过严格控制的接口进行交互,这使得模块之间的耦合度大大降低。 保证了模块具有较好的独立性,程序维护和修改较为容易。 2.1.3 继承 继承 是指新的类可以获得已有类(称为基类或父类)的属性和行为,称新类为已有类的派生类(或子类)。 在继承过程中派生类继承了基类的特性,包括方法和实例变量。 派生类也可修改继承的方法或增加新的方法,使之更适合特殊的需要。 有助于解决软件的可重用性问题,使程序结构清晰,降低了编码和维护的工作量。 单继承 任何一个派生类都只有单一的直接父类 类层次结构为树状结构 多继承 一个类可以有一个以上的直接父类 类层次结构为网状结构,设计及实现比较复杂 Java语言仅支持单继承 2.1.4 多态 多态 一个程序中同名的不同方法共存。 主要通过子类对父类方法的覆盖来实现。 不同类的对象可以响应同名的消息(方法) ,具体的实现方法却不同。 使语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序函数同名问题。 2.2 类与对象 类与对象 在现实生活中,对象指的是客观世界的实体。 在程序中,对象是一组变量和相关方法的集合,变量表明对象的状态,方法表明对象所具有的行为。 一个类是对一类对象的描述。类是构造对象的模板。对象是类的具体实例。 2.2.1 类的声明 声明形式 [public] [abstract | final] class 类名称 [Type{,Type}] [extends 父类名称] [implements 接口名称列表] { 成员变量声明及初始化; 成员方法声明及方法体; } 关键字 class 表明其后声明的是一个类。 extends 如果所声明的类是从某一父类派生而来,那么,父类的名字应写在extends之后 implements 如果所声明的类要实现某些接口,那

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档