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

Java 语言是典型的面向对象程序设计语言,它具有面向对象的三大特征:

  • 封装
  • 继承
  • 多态

这里我们简单介绍面向对象和面向过程的区别:

知乎上有个回答说的很好:面向过程是编年体,面向对象是传记体。翻译一下就是说面向过程注重解决问题的步骤,将各种步骤通过函数的方式封装起来,然后依次调用,通过这种方式解决问题。而面向对象则更注重对象,将上述所说的步骤分配给不同的对象,每个对象具有相应的行为,通过依次调用对象行文的方式解决问题。

举个简单的例子:水杯、饮品

面向过程:装可乐 -》 拿出水杯 -> 装可乐、装矿泉水 -》 拿出水杯 -> 装矿泉水、装橙汁 -》 拿出水杯 -> 装橙汁。。。

面向对象:创建可乐类,它包含装饮品的方法,饮品是抽象类,它的具体实现有:可乐、矿泉水、橙汁等。装可乐:创建水杯对象,创建可乐对象,将可乐对象作为参数传递给水杯对象装饮品的方法。。。

相比面向过程,面向对象多了水杯对象,并且多了饮品抽象类,以后扩展其它饮品只需要创建新的抽象类实现即可,更容易扩展

需要特别注意的一点是:无论面向过程、还是面向对象,都是一种设计程序的思想,比如类对象方法的实现不也是一步一步来么,此时你会说它是面向过程吗?不会的,因为你知道面向对象的侧重点在于解耦,各个对象各司其职

最后简单聊聊两者的优缺点:

  • 面向过程:无需创建对象,效率更高
  • 面向对象:易维护、易复用、易拓展,可以设计出低耦合的系统,但效率相对较低

实际面向对象更适合团队开发,每个员工各司其职即可,相互通过接口交互,更容易分工,而且排查问题相对更简单

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值