文档详情

面向对象的程序设计-Java张白一第三版第4章.pptx

发布:2025-05-09约5.27万字共156页下载文档
文本预览下载声明

第4章类与对象

第4章类与对象

4.1类与对象的概念

4.2封装机制

4.3数据成员

4.4成员方法

第4章类与对象

4.1类与对象的概念

程序设计所面对的问题域——客观世界,是由许多事物构成的,这些事

物既可以是有形的(比如一辆汽车),也可以是无形的(比如一次会议)。

在面向对象的程序设计中,客观世界中的事物映射为对象。对象是面向

对象程序设计中用来描述客观事物的基本单位。客观世界中的许多对象,

无论其属性还是其行为常常有许多共同性,抽象出这些对象的共同性便

可以构成类。所以,类是对象的抽象和归纳,对象是类的实例。

第4章类与对象

4.1.1抽象原则

所谓抽象(abstraction),就是从被研究对象中舍弃个别的、非本质的,

或与研究主旨无关的次要特征,而抽取与研究工作有关的实质性内容加

以考察,形成对所研究问题正确的、简明扼要的认识。例如,“马”就

是一个抽象的概念,实际上没有任何两匹马是完全相同的,但是我们舍

弃了每匹马个体之间的差异,抽取其共同的、本质性的特征,就形成了

“马”这个概念。

第4章类与对象

抽象是科学研究中经常使用的一

种方法,是形成概念的必要手段。

在计算机软件开发领域,所有编

程语言都提供抽象机制,人们所

能够解决的问题的复杂性直接取

随着不同抽象层次的进展,目前

决于抽象的层次和质量。编程语

主要强调的是过程抽象和数据抽

言的抽象是指求解问题时是否根

象。

据运行解决方案的计算机结构来

描述问题,它是以“机器语言→

汇编语言→面向过程的语言→面

向对象的语言”这样的路径发展

的。

12

第4章类与对象

1.过程抽象

l过程抽象(proceduralabstraction)是指任何一个完成确定功能的操作序列,其使用者都可把它看做

一个单一的实体,尽管这个操作可能是由一系列更低级的操作完成的。

过程抽象隐藏了过程的具体实现。例如,用于求一个正整数平方的过程可以有下面的不同实现方式。

方式1:

lintsquare(intk)

{returnk*k;}

第4章类与对象

01方式2:

intsquare(intk)

02{

lintresult=0;

for(inti=0;ik;i++)result+=k;

returnresult;

03}

l以上两种实现方式代表了相同的抽象操作:当传递一个正整数

调用square过程时,它们都返回输入值的平方,不同的实现方

式并不影响任何一个调用square过程的程序的正

确性。

第4章类与对象

面向过程的语言(如Fortran、Pascal、C等)的程序设计采用的

是过程抽象。过程在C语言中称为函数,在其他语言中称为子

程序等。当求解一个问题时,过程抽象的程序设计是将一个复

显示全部
相似文档