Java面向对象编程是什么,和面向过程有什么区别?

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);
    }
}

根据上面的例子,我们不难看出面向过程与面向对象的区别,面向过程会将所有问题中会用到的过程和步骤列出来求解,而面向对象会将冰箱看作一个对象,将对冰箱的操作封装在冰箱这个类中,当想对冰箱进行操作时,只需要调用冰箱这个类,就能得到自己想要的东西,通过这个例子我们可以了解到面向对象的优点,将面向过程中用于完成任务的函数封装起来,用户不需要关心程序是如何工作的,因为面向对象的封装使得复杂的实现细节对用户隐藏。用户只需了解如何使用对象提供的接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值