作者|丁宁
来源|SIGAI
什么是面向过程编程,究竟与面向过程式编程有什么区别,好好阅读理解下面几句话,判断是否自己真的是在面向对象编程。
面向过程式编程
(符合人类思考方式的一种编程模式)
1.来了一个任务。
2.对任务进行流程分解,得到任务的不同阶段。
3.对不同阶段内的子任务分解,知道可以用分支语句和循环语句分解到几个表达式为止。
4.将不同子任务连接在一起,共同完成总任务。
5.识别重复性工作,抽象出基于任务或功能的函数,对整个程序进行重构。
6.实现功能函数(func)与执行过程(main)分离。
基础功能不变的情况下,下一个任务中可以复用的是函数。
面向对象编程
1.来个一个任务。
2.找到任务中所有的利益相关方,并对利益相关方进行归类。
3.找到每个利益相关方需要履行的职责和希望被满足的需求,并进行分类。
4.将每个利益相关方类别的属性量化,并定义明确的行为,抽象出一个类别。
5.将所有同一类的利益相关方用共同的类模板进行实例化。
6.实现类别(class)与执行任务(main)的分离。
7.识别不同类别之间的关系,梳理衍生关系。
8.基于各种不同类别之间的衍生关系,抽象出基础类别。
9.将所有类别重构至每个类别都基于各自的基类层层继承而来。
10.利益相关方不变的情况下,下一个任务中可以复用的是抽象积累和各种派生类。
面向对象与面向过程的区别
1.面向过程思考的出发点是事情本身。
2.面向对象思考的出发点是假设所有事情都有生命,他们之间会怎么分工协助。
3.两种编程思路无明显的优劣,一切只看适不适合。
4.评估方法:预测未来,找到复用概率最高的几个点。
5.将这几个点用如下原则进行初步评估:高内聚,低耦合。
按照以上的方法评估之后,心中往往就已经有了答案。
-(完)-
机器学习算法与Python精研
领取专属 10元无门槛券
私享最新 技术干货