25.C++:最通俗的讲解,什么是面向过程?什么是面向对象?

网上关于这两个的回答真的很多,但是都有一个共同特点:------------不容易懂。我今天就简单通俗的说一下(当然,如果你要非常深入的了解,这篇不适合你。如果你只是为了了解什么是面向过程和面向对象,怎么面对考试,面对面试,怎么和别人说两者区别,看我下面几段话够了。)


先来两小段通俗解释面向过程(Procedure Oriented 简称PO :像C语言):   

看名字它是注重过程的。当解决一个问题的时候,面向过程会把事情拆分成: 一个个函数和数据(用于方法的参数) 。然后按照一定的顺序,执行完这些方法(每个方法看作一个个过程),等方法执行完了,事情就搞定了。

面向对象(Object Oriented简称OO :像C++,JAVA等语言):   

看名字它是注重对象的。当解决一个问题的时候,面向对象会把事物抽象成对象的概念就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。


举个栗子:

冰箱里面放有脏衣服,怎么洗干净?  

面向过程:                   

1 执行加洗衣粉方法; 2 执行加水方法;   3 执行洗衣服方法;  4 执行清洗方法;     5 执行烘干方法;----------解决问题      

拆成一个个方法,是没有对象去调用的。 通过一个个方法的执行解决问题。  

面向对象:

我先搞个洗衣机对象和人对象   

洗衣机: 加入一些属性和方法  洗衣服方法  清洗方法  烘干方法      

人:加洗衣粉方法  加水方法  

然后 人.加洗衣粉 人.加水   洗衣机.洗衣服   洗衣机.清洗   洗衣机.烘干----------同样解决问题   

先抽象出对象,然后用对象执行方法的方式解决问题。


然后在来一个我以前知乎看到的例子  : 

男女亲密例子      man   gril   

面向过程:        make_love(man,gril)  ---------解决问题      拆成一个动作,把数据丢进去

面向对象:        man.make_love(gril)  或者 gril.make_love(man) -----解决问题    抽象出对象,对象执行动作 。

当然,你面试的时候,你不要做make_love   ....你可以说是打牌 。  

面向过程就是    打牌 (你,我,他)

面向对象就是  我.打牌(你,他) or 你.打牌(我,他)  or 他.打牌(我,你)

我觉得算是很通俗啦,希望对大家有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值