首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你真的有在面向对象编程吗

作者|丁宁

来源|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精研

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190120G085QF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券