学习内容:
- 一、面向对象思想概述
- 二、面向对象与面向过程的区别
- 三、举例说明
一、面向对象思想概述
Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。
二、面向对象与面向过程的区别
- 编程思想不同
- 面向过程:是一种以过程为中心的编程思想。都是以什么正在发生为主要目标进行编程。
- 面向对象语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。
- 特点不同
- 面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
- 面向对象语言:识认性,系统中的基本构件可识认为一组回可识别的离散对象,对象具有唯一的静态类型和多个可能的动态类型,在基本层次关系的不同类中共享数据和操作。
- 优势不同
- 面向过程:不支持丰富的“面向对象”特性(比如继承、多态),并且不允许混合持久化状态和域逻辑。
- 面向对象语言:在内部被表示为一个指向一组属性的指针。任何对这个对象的操作都会经过这个指针操作对象的属性和方法。
总的来说,面向过程是当需要实现一个功能的时候,每一个具体步骤都要亲力亲为,详细处理每一个细节。而面向对象是当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事。
三、举例说明
下面我们以一个打印数组的例子来简单体现面向对象和面向过程的区别,代码如下:
public class Demo01PrintArray {
public static void main(String[] args) {
int[] array = {10, 20, 30, 40, 50};
//要求打印格式为:[10, 20, 30, 40, 50]
//使用面向过程,每一个步骤细节都要亲力亲为。
System.out.print("[");
for (int i = 0; i < array.length; i++) {
if (i == array.length - 1) { //如果是最后一个元素
System.out.println(array[i] + "]");
} else { //如果不是最后一个元素
System.out.print(array[i] + " ,");
}
}
System.out.println("-----------------");
//使用面向对象
//找一个JDK给我们提供好的Arrays类
//其中有一个toString方法,直接就能把数组变成想要的格式的字符串
System.out.println(Arrays.toString(array));
}
}