当前位置: 首页 > ds >正文

如何理解面向过程和面向对象,举例说明一下?

面向过程和面向对象是两种不同的编程思想,核心区别在于解决问题的视角不同:前者关注 “步骤和过程”,后者关注 “对象和交互”。

  • 面向过程的核心思想是把问题拆解成一系列步骤,通过函数实现每个步骤,然后按顺序调用这些函数,最终完成任务。重点是 “怎么做”。

  • 面向对象的核心思想是把问题拆解成多个 “对象”(每个对象包含自身的数据和操作方法),通过对象之间的交互完成任务。重点是 “谁来做”。

  • 用“番茄炒蛋”来举例:

    • 面向过程的思路,会拆解成具体步骤:

      • 洗番茄、切番茄(函数 1:处理番茄)

      • 打鸡蛋、搅拌(函数 2:处理鸡蛋)

      • 倒油、炒鸡蛋(函数 3:炒鸡蛋)

      • 放番茄、加盐翻炒(函数 4:炒番茄)

      • 混合出锅(函数 5:收尾)

    • 面向对象的思路,会先抽象出 “对象”,再定义对象的行为:

      • 对象 1:番茄

        数据:新鲜度、大小

        方法:被清洗、被切割

      • 对象 2:鸡蛋

        数据:数量、是否打散

        方法:被打碎、被搅拌

      • 对象 3:厨师

        数据:厨艺等级

        方法:炒鸡蛋、炒番茄、混合菜品

http://www.xdnf.cn/news/18632.html

相关文章:

  • Qt5 的跨平台开发详细讲解
  • 计算机毕设选题推荐 基于Spark的家庭能源消耗智能分析与可视化系统 基于机器学习的家庭能源消耗预测与可视化系统源码
  • 告别第三方流氓工具,如何实现纯净系统维护
  • DIC技术极端环境高温案例分享——从1600℃的锆合金力学性能测试到3000℃变形测试的DIC测量
  • 手机、电脑屏幕的显示坏点检测和成像原理
  • k8s----学习站点搭建
  • C++显示类型转换运算符static_cast使用指南
  • 贪吃蛇--C++实战项目(零基础)
  • 大模型微调:从理论到实践的全面指南
  • 【链表 - LeetCode】19. 删除链表的倒数第 N 个结点
  • Laravel 使用阿里云OSS S3 协议文件上传
  • Java多线程面试题二
  • Flask电影投票系统全解析
  • WPF控件随窗体大宽度高度改变而改变
  • 金融风控AI引擎:实时反欺诈系统的架构设计与实现
  • Rust 入门 注释和文档之 cargo doc (二十三)
  • AP服务发现PRS_SOMEIPSD_00255 的解析
  • 《WINDOWS 环境下32位汇编语言程序设计》第7章 图形操作(1)
  • UNIKGQA论文笔记
  • XP系统安装Android Studio 3.5.3并建立Java或Native C++工程,然后在安卓手机上运行
  • 算法题(188):团伙
  • Linux--进程核心概念
  • 论文精读(三)|智能合约漏洞检测技术综述
  • (纯新手教学)计算机视觉(opencv)实战七——边缘检测Sobel 算子(cv2.Sobel())详解
  • 递归思路:从DFS到二叉树直径的实战(通俗易懂)
  • 如何将照片从iPhone传输到Mac?
  • Spring Start Here 读书笔记:第10章 Implementing REST services
  • 疏老师-python训练营-Day53 对抗生成网络
  • 常用 CMake 内置变量合集与说明
  • Huggingface入门实践 Audio-NLP 语音-文字模型调用(一)