面向过程与面向对象

一、定义

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

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

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

二、核心

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

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

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

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

三、属性和功能

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

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

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

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

四、两者的区别

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

五、联系

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

面向过程:

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

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

面向对象:

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

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

相关推荐
xiaohanbao091 小时前
Transformer架构与NLP词表示演进
python·深度学习·神经网络
love530love2 小时前
【笔记】 Podman Desktop 中部署 Stable Diffusion WebUI (GPU 支持)
人工智能·windows·笔记·python·容器·stable diffusion·podman
程序员晚枫2 小时前
Python 3.14正式发布!这5大新特性太炸裂了
python
先做个垃圾出来………2 小时前
SortedList
python
这里有鱼汤2 小时前
从DeepSeek到Kronos,3个原因告诉你:Kronos如何颠覆传统量化预测
后端·python·aigc
晓宜3 小时前
Java25 新特性介绍
java·python·算法
深栈3 小时前
机器学习:决策树
人工智能·python·决策树·机器学习·sklearn
MediaTea3 小时前
Python:匿名函数 lambda
开发语言·python
hui函数3 小时前
Python全栈(基础篇)——Day07:后端内容(函数的参数+递归函数+实战演示+每日一题)
后端·python
MYX_3094 小时前
第二章 预备知识(线性代数)
python·线性代数·机器学习