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

面向过程与面向对象

一、定义

面向过程:传统的面向过程的编程思想总结起来就八个字——自顶向下,逐步细化!

→ 将要实现的功能描述为⼀个从开始到结束按部就班的连续的“步骤”,依次逐步完成这些步骤,如果某⼀个步骤的难度较⼤,⼜可以将该步骤再次细化为若⼲个⼦步骤,以此类推,⼀直到结尾并得到我们想要的结果。

面向对象:所谓的模拟现实世界,就是使计算机的编程语⾔在解决相关业务逻辑的时候,与真实的业务逻辑的发⽣保持⼀致,需要使任何⼀个动作的发⽣都存在⼀个⽀配给该动作的⼀个实体(主体),因为在现实世界中,任何⼀个功能的实现都可以看做是⼀个⼀个的实体在发挥其各⾃的“功能”(能⼒)并在内部进⾏协调有序的调⽤过程!

二、核心

面向过程:程序 = 数据结构 + 算法  

特点是:自顶向下设计,按步骤执行

面向对象:程序 = 对象 + 消息

提点是:封装、继承、多态三大特性

三、属性和功能

定义这些动作的主体,为其增加相应的属性和功能

属性就是实体固有的某些特征特性信息,在⾯向对象的术语中,属性就是以前的变量。

功能就是就是实体可以完成的动作,在⾯向对象的术语中,功能就是封装成了函数或⽅法

 实体去执行这些动作(功能),各个实体按顺序去执行他们的功能构成了一个过程,这就是面向过程

四、两者的区别

概念面向过程面向对象
核心思想函数为中心,关注“怎么做”(How)对象为中心,关注“谁来做”(Who)
程序组成一系列函数(过程)的集合一系列相互作用对象的集合
设计范式自上而下(Top-Down),逐步细化自下而上(Bottom-Up),先抽象出对象再组合
核心概念函数、变量、顺序、分支、循环类、对象、封装、继承、多态
数据与函数关系分离。数据由函数处理,在函数间传递结合。数据和对数据的操作被封装在对象中

五、联系

面向过程是基础。两者并非水火不容。在一个大型的面向对象系统中,某个具体类的方法完全可以使用面向过程的思维来编写。

面向过程:

优势:性能高、流程直观、适合简单任务

劣势难维护、难扩展、难复用、安全性差

面向对象:

优势:易维护、易扩展、易复用、适合复杂系统

劣势性能略有开销、概念更复杂、设计开销大

http://www.dtcms.com/a/349646.html

相关文章:

  • 了解检验和
  • 四,设计模式-原型模式
  • 设计模式5-代理模式
  • 无锁队列的设计与实现
  • jdbc相关内容
  • 基于TimeMixer的帕金森语音分类:WAV音频输入与训练全流程
  • 基于开源 AI 智能名片链动 2+1 模式 S2B2C 商城小程序的新开非连锁品牌店开业引流策略研究
  • 云计算之中间件与数据库
  • 蜂窝物联网模组在冷链运输行业的应用价值
  • 盲盒经济新风口:盲盒抽谷机小程序系统开发全解析
  • 审核问题——首次进入APP展示隐私政策弹窗
  • JavaWeb(八)EL表达式,JSTL标签
  • 阿里云短信验证码服务
  • 奔赴少年CIIU携专辑《我们的出发》正式出道 与J.Y. Park同台首秀备受关注
  • 基于SpringBoot的招聘管理系统【2026最新】
  • 【Linux基础知识系列】第一百一十篇 - 使用Nmap进行网络安全扫描
  • C# NX二次开发:绘图区控件和指定矢量控件详解
  • [MH22D3开发笔记]2. SPI,QSPI速度究竟能跑多快,双屏系统的理想选择
  • 基于WebTransport(底层QUIC)实现视频传输(HTML+JavaScript)
  • C语言基础:(二十五)预处理详解
  • 从0到1:用 Qwen3-Coder 和 高德MCP 助力数字文旅建造——国庆山西游
  • Rust面试题及详细答案120道(58-65)-- 集合类型
  • 解锁处暑健康生活
  • Docker:部署Nginx
  • week4-[一维数组]数码个数
  • Gemini 2.5 Flash-Lite 与 GPT-5-mini:高性能低成本模型,如何选择?
  • 链表OJ习题(1)
  • redis-缓存-持久化
  • 使用 Gemini CLI作为 Claude Code的 subagent
  • OC-MVC模式下的折叠cell