通俗易懂地说明「面向对象」和「面向过程」的区别

一、面向对象是什么

面向对象 (Object Oriented,OO) 的思想对软件开发相当重要,它的概念和应用甚至已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、 络管理结构、CAD 技术、人工智能等领域。面向对象是一种 对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

面向过程 (Procedure Oriented) 是一种 以过程为中心 的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是 封装继承

无论是在软件开发还是在实际工作中,深入地理解软件开发的思想都非常有必要。

二、从一场比赛说起

在一个软件村里

有一名资深「面向过程」程序员——老过

和一名「面向对象」信徒——阿对

同时受雇于一家挨踢店

 

有一天老板突发奇想

决定让这两名程序员进行一次比赛

获胜者将获得一个限量的

360 度全自动按摩椅

编程比赛开始了

不一会,他俩都写出了几乎相同的代码

老过看到新需求,微微一笑

决定让新的收银方式继承 Bill 类

先在 Bill 类中新增 discount 方法

并将其开放

普通的收费方式在 discount

数中直接返回价格

七夕节的收费方式则继承此类

在 discount 函数中实现打 77折

当老过和阿对同时将程序交给老板时

老过已经开始幻想自己将来

坐在按摩椅上的舒服日子

 

听到新需求

老过一阵头大

不由在群里吐槽

 

 

吐槽归吐槽

老过在 getPrice 函数中

再次增加了条件判断

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月18日
下一篇 2020年4月18日

相关推荐