Python-浅谈对面向对象与面向过程的理解

学习编程,始终绕不开面向对象和面向过程两座大山,经过一段时间的学习后,下面谈一下我对面向过程与面向对象(python)的理解。

以下是百度百科对面向对象以及面向过程的简述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在我看来,抛开“万物皆对象、封装、继承、多态 ”等很多跟面向对象有关的专业词汇。
抛开“自顶而下,向下细化”等跟面向过程有关的专业词汇。

简而言之

面向对象就是把世界描绘成N个有主动性的“活物”之间的交互;
面向过程是有一个“上帝之手”通过制定一系列规则来操纵一堆“死物”。
面向过程是一件事“该怎么做?“,面向对象是一件事“该让来做?”,这里面的“”就是对象,至于它要怎么做是它自己的事,反正最后一群对象合力能把事做好就行了。

从不同角度来分析的话

面向过程&面向对象
a) 认识问题角度:面向过程,死物受规则被动操控;面向对象,活物主动交互。
b) 解决问题思路:面向过程,函数;面向对象,对象。
c) 解决问题中心角度:面向过程,How,“如何做?”(流程封装为函数,“如何”就是过程,谁来做仅是参数);面向对象,Who,“谁来做?”(“谁”就是对象,如何做是它自己的操作,多个对象协同完成任务)。
d) 解决问题步骤角度:面向过程,先具体逻辑细节,后抽象问题整体;面向对象,先抽象问题整体,后具体逻辑细节。
e) 数传递角度:面向过程,参数或全局变量;面向对象,方法。
f) 关系角度:面向过程,找不到对象;面向对象,可找到过程。

举个例子
面向对象: 狗.吃(屎)
面向过程: 吃.(狗,屎)

发布了16 篇原创文章 · 获赞 0 · 访问量 274

猜你喜欢

转载自blog.csdn.net/JOKERSNEAKER/article/details/105282507