第 5 讲 初识面向对象
5.1 面向过程程序设计与面向对象程
序设计
5.2 创建新的数据类型
5.3 类的成员
5.4 构造方法
5.5 通过引用访问对象
5.6 关键字 this
5.7 对象数组
5.8 数据的存储
5.9 本讲小结
讲后练习
第 5 讲 初识面向对象
面向过程意在分析出解决问题所需要的步骤,然后用函数把这些
步骤一步一步实现,使用的时候依次调用这些函数。
面向对象是把构成问题的事务分解成各个对象,建立对象的目的
不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题
的步骤中的行为。
面向对象技术是一种以对象为基础,以事件或消息来驱 动对象
执行处理的程序设计技术,它具有封装性、继承性及多态性三大
特点。
5.1 面向过程程序设计与面向对象程序设计
面向过程程序设计与面向对象程序设计的根本不同在于:面向过程程序设计中属性和行为是分开
的,而面向对象程序设计中属性和行为含在单个对象中。
面向对象程序设计的有三大特点:
•
( 1 )封装性
封装机制将数据和代码捆绑到一起,避免了外界的干扰和不确定性。它同样允许创建对象。简单
的说,一个对象就是一个封装了数据和操作这些数据的代码的逻辑实体。
在一个对象内部,某些代码和(或)某些数据可以是私有的,不能被外界访问。通过这种方式,
对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对
象的私有部分。
•
( 2 )继承性
继承是可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。例
如,知更鸟属于飞鸟类,也属于鸟类。就像图 5 中描绘的那样,这种分类的原则是,每一个子类
都具有父类的公共特性。
( 3 )多态性
多态是面向对象程序设计的另一个重要概念。多态的意思是事物具有不同形式的能力。
举个例子,对于不同的实例,某个操作可能会有不同的行为。这个行为依赖于所要操作
数据的类型。比如说加法操作,如果操作的数据是数,它对两个数求和。如果操作的数
据是字符串,则它将连接两个字符串。
5.2 创建新的数据类型
创建新的数据类型就必须借助关键字 clas s ,新类型的名字必
须遵循 Java 中标示符的命名规则,如:
class NewTypeName {
// 类的主体
}
新类型在命名时,尽量保持 Java 的风格,即首字母要大写,
如果名字有多个单词组成的话,每个单词的首字母都要大写,
尽量做到“见名知意”。
类名后面的一对花括号“ {}” 之间的部分是类体,类体中可以定
义数据域和动作。 Java 使用变量表示对象的属性,使用方法
表示对象的行为,如:
•
// Circle.java
•
public class Circle {
•
double radius = 2.0;
•
void setRadius(int newRadius){
•
radius = newRadius;
•
}
•
double getRadius(){
•
return radius;
•
}
•
double getArea(){
•
return radius * radius * Math.PI;
•
}
•
}
名为 Circle 的类已经完成,现在可以用它来创建对象了,如:
Circle c = new Circle( );