Java实用程序设计(西电版)第3章Java面向对象的程序设计

Java实用程序设计(西电版)第3章Java面向对象的程序设计

ID:41233127

大小:1.87 MB

页数:97页

时间:2019-08-20

Java实用程序设计(西电版)第3章Java面向对象的程序设计_第1页
Java实用程序设计(西电版)第3章Java面向对象的程序设计_第2页
Java实用程序设计(西电版)第3章Java面向对象的程序设计_第3页
Java实用程序设计(西电版)第3章Java面向对象的程序设计_第4页
Java实用程序设计(西电版)第3章Java面向对象的程序设计_第5页
资源描述:

《Java实用程序设计(西电版)第3章Java面向对象的程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章Java面向对象的程序设计3.1面向对象的基本思想3.2面向对象程序设计的基本概念3.3Java中的对象与类3.4构造方法与对象初始化3.5包与访问权限控制3.6Java中的继承3.7Java多态机制3.1面向对象的基本思想1.面向对象问题求解基本思想所有编程语言都提供“抽象”方法。也可以说,使用一种编程语言所能解决的问题的复杂程度直接取决于抽象的种类及质量,这里的抽象种类指的是被抽象的对象是什么。早期的汇编语言是对底层机器的轻微抽象。后续发展起来的许多命令式语言(如FORTRAN、BASIC和C语言等)对汇编语言进行进一步的抽象。2.面向对象

2、问题求解方法面向对象方法的特点就在于,在建立问题空间的问题模型和解空间的机器模型的过程中,都使用了“对象”这一概念,使得机器世界中的面向对象模型与现实世界中问题的存在形态非常接近,从而简化了两种模型之间的映射。3.面向对象程序设计的特征Smalltalk语言的发明人AlanKay曾经将面向对象程序设计方法的特征总结为以下5个方面:(1)一切皆对象。(2)程序是一系列对象的组合,对象间通过消息传递进行联系。(3)每个对象都有自身内存空间,内存空间由其他对象构成。(4)每个对象都有一种类型(type)。(5)同一类型的所有对象都能够接收相同的消息。3.2

3、面向对象程序设计的基本概念1.对象、类与接口3.1节已经介绍了对象实际上是问题空间中可以明确标识的实体,例如学生、汽车、手机等,这些实体在解空间中存在相应的抽象表示。面向对象程序设计中的对象是以现实世界的对象为模型构造的。每个对象都有自己的标识、状态和行为。2.封装与隐藏对于支持大规模程序设计的通用编程语言来说,总会涉及程序的开发者与程序的使用者不重叠的情况。在C语言中,这种情况发生在函数库的开发时,而对于Java,类库的开发也存在类似的情况。我们将创建新数据类型的程序员称为“类开发者”,将使用这些数据类型的程序员称为“客户端程序员”。这一划分不是绝

4、对的,最常见的情况是程序员在编程时既使用了别人创建的类,又使用了自己创建的类。封装的意义包含以下三个方面:(1)模块化:不同对象代码间相对独立,对象可以在系统中方便移动;(2)保证数据对象的一致性:通过隐藏对象变量和方法实现,防止绕过接口更改成员变量;(3)易于维护:开发者可随意更改私有变量和私有方法,而不会影响调用对象接口的其他程序。3.继承与复用复用是现代程序设计语言都应实现的功能。对于命令式语言,如C语言,复用的对象处于代码和函数的层面,而对于Java语言,复用的对象主要是已定义的类。为了达到复用类的目的,使用的方法主要有组合和继承两种。图3-

5、1类的继承示例4.多态性1)编译时多态   编译时多态通过方法重载(overloading)实现。方法重载是指在一个类中定义多个名称相同但参数不同的方法。参数不同指的是两方面的不同:参数类型不同或参数数量不同。(1)参数类型不同。以java.lang.Math类的max()方法为例,该方法包括如下版本:publicstaticdoubleMath.max(doublea,doubleb);publicstaticfloatMath.max(floata,floatb);publicstaticintMath.max(inta,intb);public

6、staticlongMath.max(longa,longb);(2)参数数量不同。以java.lang.String类的split()方法为例,该方法包括如下版本:publicString[]split(Stringregex);publicString[]split(Stringregex,intlimit);   在程序中具体使用其中的哪个方法,是由编译器根据参数数量和类型决定的。虽然多个重载方法的参数列表必须不同,但它们的返回值、修饰符可以相同也可以不同。2)运行时多态   运行时多态是以继承性为基础的多态性,是在程序运行时动态产生的。有时,

7、多态性也可以专指运行时多态。本节前面部分介绍的继承性主要描述父类与子类之间的关系,而多态性还要求在这种关系的基础上,将一个对象当作它所在类的父类的对象来看待。这种将子类看做它的父类的过程称为向上转型(或上塑造型,upcasting)。“向上”的意思是从类继承层次(如图3-1)的子类(一般在较下方)向父类(一般在较上方)转型。3.3Java中的对象与类1.类的结构与创建类的基本结构可以表示为如下的类声明格式:类是创建对象的模板。通过类的构造方法可以创建对象。例如,在例3-1的main()方法中,通过new关键字调用Rectangle类的默认构造方法构造

8、一个对象。对象创建与初始化的进一步介绍见第3.4节。创建对象之后,通常会对对象的成员变量和方法进行访问。对对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。