- 11
- 0
- 约4.13万字
- 约 47页
- 2017-02-28 发布于重庆
- 举报
第4章面向对象程序设计
第4章 面向对象程序设计
Java是一种纯粹的面向对象程序设计语言,构成Java程序的一切“元件”(包括Java程序本身)都是对象。在编写Java程序过程中,以“一切皆为对象”的思维方式来思考问题,通过创建类、接口、对象,调用类和对象的方法来解决问题。定义类的操作类的对象是Java编程的主要任务。
学习好Java,必须两点:
1)面向对象程序设计思想
2)设计类(包括接口)
4.1 面向对象求解概述
4.1.1 利用计算机解决问题的方式
利用计算机解决问题的过程:
计算机解决问题的方式就是:使用某种程序设计语言,将客观世界中待处理的对象抽象为程序中的对象(称为“解空间对象”),多面手利用程序的功能对解空间对象进行处理,并将处理结果表达为实际问题的解。
目前有两种程序设计思想:面向过程的、面向对象的
4.1.2 面向过程的程序设计
面向过程的程序设计就是将解决问题的过程(步骤)用某种语言描述出来,然后交给计算机执行。其设计的核心是“算法+数据结构”。
从外部表现上看,面向过程的程序是以模块(函数)的形式出现的,一个程序是由若干个函数组成的。各函数之间的关系通常是调用、被调用关系。且各个函数的地位实质上又是相同。这样会造成极大的混乱。且共享数据难以进行。
通常要共享数据需要通过“全局变量”来进行,每个函数都可使用这个全局变量,从而根本没法控制。
4.1.3 面向对象的方法
面向对象是一种看问题的观点,是对现实世界各种元素的一种抽象。对象既含数据又含功能(操作、行为),因此具有自身处理数据的能力,是能进行处理的主体。对象被认为是迄今为止最接近真实事物的数据抽象。
在客观世界中,每一个对象(事物,包含具体的如狗、桌子,也包含抽象的如学生)都有自己的状态和行为。
状态:数据,属性,是静态的属性,一般用来描述对象的一些颜色、大小、速度等。
行为:功能,动态的动作,如奔跑、呼吸等。
在面向对象的程序中,对象的状态称为“属性”,对象的行为称为“方法”,一个对象的方法实现对象的一项功能。
在Java中,将对象抽象为“类”(class),而属性用类中的成员变量来描述,方法用类中的函数来描述。
如,我们要描述“汽车”(car),在面向对象方法中的模型可以是:
class Car{
//描述汽车的属性
public int color;
int weight;
protected int value;
private int js;
//描述汽车的行为
void brake( ) //刹车
{
//....
}
void speedUp( ); //加速
void slowDown( ); //减速
};
如果一个Car类已经创造好了,现在我们要由这个类来生产汽车,比如要生产一辆宝马车:
Car bmw=new Car( ); //创建(生产)一个对象
bmw.speedUp( ); //调用对象的方法,实现对象的动作
4.1.4 抽象与封装
1、抽象
抽象是科学研究中经常使用的一种方法,去除被研究对象中与主旨无关的次要部分,或是暂时不考虑的部分,而仅仅抽取出与研究工作有关的实质性的内容加以考察。在计算机软件开发中使用的抽象有两类:一类是过程抽象,一类是数据抽象;
(1)过程抽象
将整个系统的功能划分为若干部分,强调功能完成的过程和步骤。
(2)数据抽象
把系统中需要处理的数据和对这些数据的操作结合在一起,根据功能、性质和作用等因素抽象成不同的抽象数据类型。
2、封装
“封装”就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象内部细节的一种面向对象技术。其特点是:
(1)把对象的全部属性和全部服务(方法)结合在一起,形成一个不可分割的独立单位(对象)
(2)实现信息隐蔽,尽可能隐蔽对象的内部细节,对外形成一个边界(或者说形成一个屏障),只保留有限的对外接口,使之与外部发生联系。
4.1.5 面向对象程序设计语言的特点
(1)使计算机接受了面向对象的思维方式
(2)实现了抽象和封装
(3)较好地实现了软件复用
(4)提高了程序的可靠性
(5)实现了多态性
4.2 类与对象
对象是一些属性与方法的封装体,可以用公式来描述:
对象=数据+作用于这些数据的操作
数据就是类中的成员变量,操作就是类中的成员方法。
4.2.1 类的声明
1、类的声明
语法形式:
访问控制符 使用格式 class 类名[extends 父类名] [implements 接口名列表]{
成员变量的声明及初始化;
方法的声明及方法体;
}
简要介绍:
(1)class:用来声明类的关键字,表明其后声明的是一个类;
(2)class前面的修饰符,用来限定类的访问权限及使用格式:
①访问控制符:声明类的访问权
您可能关注的文档
- 有机物分离和提纯教案.docx
- 智能仿真研究.doc
- 徐州市2013年第三次模拟物理试卷word及答案.doc
- 徐州市高三第三次质量检测物理试题.doc
- 正余弦信号的谱分析课程设计.doc
- 油莎豆生产与栽培.doc
- 有机化学补充习题(上册)(09化本).doc
- 植物组织培养技术试卷.doc
- 油路修补技术交底.doc
- 浙大工程训练复习材料.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)