面向过程和面向对象的区别

比如我们需要用程序装配一辆车行驶,分别使用面向过程和面向对象的方式来编写:

①面向过程:

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。他的缺点在于不易维护,不易复用,不易拓展,比如我们需要换一种发动机,又或者换一种车来组装,就需要修改之前写过的源码。

②面向对象:

使用面向对象的编程思想我们将车抽象为了一个Car类,这个类中有chassis,wheel,body,engine, transmissionCase这四个属性,并且提供了这些属性的get/set方法与drive方法。看上去代码比面向过程的代码要多出不少,但是易于维护,拓展和修改。如果我们需要换一种轮胎只需要调用setmWheel()就可以了,完全不需要动Car类中的代码。如果我们需要组装特定种类的车,我们还可以创建一个Car类的子类,如果是面向过程的话就需要重新写一遍所有代码来创建新的车子,所用的代码比面向对象要多得多。

面向对象的优势:

面向对象让程序维护起来简单;由于继承、封装、多态的特性,以及高内聚、低耦合的系统结构,使得系统更加灵活、更容易扩展;在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类,比较符合人类习惯的思维哦方式,提高了软件开发的效率。

那为什么面向过程还没有被淘汰呢?

类调用时需要实例化,开销比较大,比较消耗资源,因此从效率上来说面向过程要比面向对象的性能要高。单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值