浅谈面向对象和面向过程

  我们都知道,C语言是面向过程的,C++是面向对象的。那什么是面向过程?什么是面向对象?面向过程和面向对象有联系吗?如果要修改一份代码,是怎么把面向过程变成面向对象的?

什么是面向过程和面向对象?

  在C语言的世界,我们是调用一个一个的函数,再让函数去调用数据来实现目标的,用举个栗子,当我们洗衣服时候,用C语言的思想,将洗衣服分成若干个过程,放衣服、洗衣服、甩干、响铃、晾衣服这4个过程,这四个过程分别对应四种方法,也就是四种函数,通过函数调用逐步解决问题。当我们用面向对象的思想来完成洗衣服这件事时,放衣服和晾晒衣服的对象就是person,洗衣服、甩干、响铃的对象就是machine,整个洗衣服的过程中,你只需要调用俩个对象,person和machine,在这俩个对象中,包含各自的成员函数和成员变量。我们不需要关心具体的实施过程,只需要知道我们调用的是哪个对象就可以了。也就是将一件事情拆分成不同的对象,通过对象之间的交互来完成。这也体现了面向对象的一个特性—>封装

面向过程和面向对象有什么区别和联系呢?

  面向过程是面向对象的一个基础,如果将面向对象再细化,其实也是对对象中成员函数的调用。面向对象可以说是对面向过程的一个优化,我们用C语言写代码时肯定都遇到过这样的情况,“动一处则乱全身”,因为每段代码的关联性比较高,当你要修改一处代码时,可能其他地方也受到了牵连,代码可维护性不高。面向对象中调用的是类名,当你修改对象中的成员函数时,不会影响其他的对象,这样就增大了代码的可维护性。

怎么把面向过程变成面向对象的?

  我们要把面向过程的代码修改成面向对象的代码并不难,把面向过程中的函数进行分类,具有相同属性的函数分为一类,再创建一个类将它们封装起来。以洗衣服为例,面向过程和面向对象所完成的事情都是一样的,放衣服、洗衣服、甩干、响铃、晾衣服,不同的是面向对象将这五个过程分成了2类,放衣服和晾衣服是人完成的,洗衣服、甩干、响铃是机器完成的,那我们就可以创建2个类,person类和machine类,再将放衣服和晾衣服作为成员函数放进person类中,将洗衣服、甩干、响铃放进machine类中,就此面向过程就改写为面向对象了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值