首页 > 编程语言 >Java面向对象学习1019-1

Java面向对象学习1019-1

时间:2024-10-19 15:53:09浏览次数:8  
标签:snack Java String 冰箱门 面向对象 冰箱 1019 public

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

相关文章

  • 20241019知识蒸馏
    在神经网络的知识蒸馏中,教师模型(Teachermodel)和学生模型(Studentmodel)是核心组件,它们共同实现了知识的转移和模型的优化。这里是这两个概念的详细解释:教师模型(TeacherModel)教师模型通常是一个预先训练好的、性能较高的深度神经网络。这个模型在特定任务上已经达到了较高的精确......
  • java+vue计算机毕设大学生学习交流平台的设计与开发【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今信息化高速发展的时代,大学生作为社会未来的栋梁,其学习方式和交流模式正经历着深刻的变革。随着互联网技术的普及,大学生对于学习资源的获取不再......
  • java+vue计算机毕设防诈骗系统【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,网络诈骗案件层出不穷,诈骗手法日益翻新,给广大网民的财产安全和个人信息带来了严重威胁。近年来,尽管政府和相关部门在打击网......
  • java+vue计算机毕设动物园信息管理系统【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和人们生活水平的提高,动物园作为重要的休闲娱乐与科普教育场所,其管理与运营面临着日益复杂的挑战。传统的动物园管理方式往往依......
  • java_day19_线程组、线程池、定时器、InetAddress、网络编程、设计模式
    一、线程组:线程组:将属于同一类的线程划分到同一组中,可以直接对线程组进行设置。ThreadGroup构造方法:ThreadGroup(Stringname)构造一个新的线程组。代码案例:classMyThread1extendsThread{publicMyThread1(){}publicMyThread1(ThreadGr......
  • java+vue计算机毕设扶贫助农与产品合作系统设计与实现【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今社会,扶贫助农已成为国家发展的重要战略之一,旨在通过一系列政策与措施,帮助贫困地区脱贫致富,提升农民生活水平。随着信息技术的飞速发展,互联网+农......
  • 2024年华为OD机试真题-勾股数元组-Java-OD统一考试(E卷)
    最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客     每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。题目描述:如果3个正整数(a,b,c)......
  • JAVA开源项目 基于Vue和SpringBoot在线旅游网站
    本文项目编号T025,文末自助获取源码\color{red}{T025,文末自助获取源码}......
  • JAVA开源项目 基于Vue和SpringBoot校园管理系统
    本文项目编号T026,文末自助获取源码\color{red}{T026,文末自助获取源码}......
  • 定义java 返回集合
    1、创建Result类packagecom.flow.pojo;importlombok.Data;importjava.io.Serializable;importjava.util.HashMap;importjava.util.Map;publicclassResult<T>implementsSerializable{privatestaticfinallongserialVersionUID=1L;public......