c语言是面向过程的还是面向对象的,面向对象和面向过程很本质的差别是哪个?...

94091cd0bb4d8d1fb89f9e5e582fdef2.png

面向对象和面向过程很本质的差别在于考虑问题的出发点不同,面向过程是以事件流程为考量问题的出发点,而面向对象则是以参加事件的角色(对象)为考量问题的出发点,所以面向对象在处理难题时非常灵活。目前,面向过程的语言更多被用于处理底层业务,而面向对象编程则更多用于推动一些业务逻辑复杂的大型平台。

59874548bac28e021f7a616f4927559f.png

从结构下来说,面向过程的特征是模块化和流程化,而面向对象的特征是封装、继承和多态,这上面就有本质的差别了。面向过程以功能(函数)作为模块化的基础,而面向对象则以类成为功能的组织基础,而类必须一个“抽象”的过程。比如在Java中,完成一个功能的调用应该三个步骤,分别是类的定义,对象的构建,方法的调用,看一个例子:

147053949_1_20181014092934620

55487a426eb04a6fb8f8c62202651ed5.png

而C语言的功能实现则便于得多,看一个例子:

147053949_2_20181014092934730

20191121231621_0e4e5483b4f848c970fe744f6831cee8_2.jpeg

通过这个事例我们看到,Java更麻烦一些,Java需要先按照功能抽象出类,然后构建出对象,再之后借助对象能够完成对方式的调用,而C语言则只应该函数的定义跟读取,并不需要创建对象,所以C语言的执行效率更高。

daaa217f39839bb3f9774f2287f57187.png

但是因为有了对象的概念,面向对象编程的灵活性更强,对象与对象之间也可以形成非常复杂的交互关系,也因而会有继承和多态的概念。继承的核心特征是复用,避免的文章面向对象与过程的区别,大家可以关注我的头条号并查看,这里就不赘述了。

我使用Java和C语言的时间都非常久,我在头条上也写了关于Java编程方面的系列文章,如果有编程方面的难题,也可以咨询我。

谢谢!

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-131160-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值