Java 面向对象基础1:
面向对象编程是什么,和面向过程有什么区别?
面向对象编程OOP(Object Oriented Programing)是一种程序设计方法,其本质是模仿人的思维来解决问题,把客观世界的实体抽象为对象。不同于面向过程编程POP(Procedure Oriented Programing)以过程为中心,关注解决问题时的每个步骤,面向对象强调将程序组织成对象(对象是类的实例),而不是仅仅使用函数和过程。这种方法通过封装、继承和多态等概念,使得程序更易于理解、维护和扩展。
下面用一个简单示例解释面向过程与面向对象的区别:
小红的妈妈在冰箱里面放了一些零食,小红想要拿到这些零食,该如何做?
1)使用面向过程编程:①找到冰箱;②打开冰箱门;③拿出冰箱里面的零食;④关上冰箱门;
class POP {
public static void main(String[] args) {
String snack = getSnackFromFridge();
System.out.println("小红拿到了:" + snack);
}
public static String getSnackFromFridge() {
// 步骤1:找到冰箱
// 步骤2:打开冰箱门
// 步骤3:拿出冰箱里面的零食
String snack = "巧克力";
// 步骤4:关上冰箱门
return snack;
}
}
2)使用面向对象编程:我们直接将冰箱作为对象来处理,将①打开冰箱;②拿出想要的东西;③关上冰箱;这三个行为步骤封装到冰箱这个类中,当小红想要拿到任何冰箱中的东西时,只需要找到(调用)“冰箱”这个类,根据自己的需求(传入参数),就能得到想要的东西。
class Fridge {
public void open() {
System.out.println("打开冰箱门");
}
public String takeSnack(String snack) {
System.out.println("拿出冰箱里面的零食:" + snack);
return snack;
}
public void close() {
System.out.println("关上冰箱门");
}
}
class OOP {
public static void main(String[] args) {
Fridge fridge = new Fridge();
fridge.open(); // 打开冰箱
String snack = fridge.takeSnack("巧克力"); // 拿出零食
fridge.close(); // 关上冰箱
System.out.println("小红拿到了:" + snack);
}
}
根据上面的例子,我们不难看出面向过程与面向对象的区别,面向过程会将所有问题中会用到的过程和步骤列出来求解,而面向对象会将冰箱看作一个对象,将对冰箱的操作封装在冰箱这个类中,当想对冰箱进行操作时,只需要调用冰箱这个类,就能得到自己想要的东西,通过这个例子我们可以了解到面向对象的优点,将面向过程中用于完成任务的函数封装起来,用户不需要关心程序是如何工作的,因为面向对象的封装使得复杂的实现细节对用户隐藏。用户只需了解如何使用对象提供的接口。
标签:snack,Java,String,冰箱门,面向对象,冰箱,1019,public From: https://blog.csdn.net/bigarerelon/article/details/143078856