java是面向对象还是面向过程_面向对象和面向过程最本质的区别是什么?

java是面向对象还是面向过程_面向对象和面向过程最本质的区别是什么?面向对象和面向过程最本质的区别在于考虑问题的出发点不同,面向过程是以事件流程为考虑问题的出发点,而面向对象则是以参与事件的角色(对象)为考虑问题的出发点,所以面向对象在处理问题时更加灵活。目前,面向过程的语言更多被用于处理底层业务,而面向对象编程则更多用于实现一些业务逻辑复杂的大型系统。从结构上来说,面向过程的特点是模块化和流程化,而面向对象的特点是封装、继承和多态,这里面就有本质的区别了。面向过…

大家好,又见面了,我是你们的朋友全栈君。

面向对象和面向过程最本质的区别在于考虑问题的出发点不同,面向过程是以事件流程为考虑问题的出发点,而面向对象则是以参与事件的角色(对象)为考虑问题的出发点,所以面向对象在处理问题时更加灵活。目前,面向过程的语言更多被用于处理底层业务,而面向对象编程则更多用于实现一些业务逻辑复杂的大型系统。

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

147053949_1_20181014092934620

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

147053949_2_20181014092934730

通过这个例子我们发现,Java更麻烦一些,Java需要先根据功能抽象出类,然后创建出对象,再然后通过对象才能完成对方法的调用,而C语言则只需要函数的定义和调用,并不需要创建对象,所以C语言的执行效率更高。

但是由于有了对象的概念,面向对象编程的灵活性更强,对象与对象之间也可以产生比较复杂的交互关系,也因此会有继承和多态的概念。继承的核心特点是复用,避免模块间重复和模块内重复的问题,而多态的特点是灵活,针对于不同情况可以做出更加灵活的处理方式。当然,由于面向对象需要一个抽象的过程,所以在效率方面就没有面向过程语言那么高。关于面向对象的细节,我在头条上写过专门的文章,大家可以关注我的头条号并查看,这里就不赘述了。

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

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156336.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 几种ARM编译器及IDE开发环境[通俗易懂]

    几种ARM编译器及IDE开发环境[通俗易懂]ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。  用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE…

  • RDN怎么配置环境

    RDN怎么配置环境非root怎么安装linux版本的lua和torchhttps://blog.csdn.net/BRAVE_NO1/article/details/90260800

  • android performClick使用

    android performClick使用performClick是使用代码主动去调用控件的点击事件(模拟人手去触摸控件)—————————————–booleanandroid.vi

  • DDL和DML的区别

    DML(DataManipulationLanguage)数据操纵语言:适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等. DDL(DataDefinitionLanguage)数据定义语言:适用范围:对数据库中的某些对象(例如,database,table)进行管理,如create、alter、drop、TRUNCATE、show等 …

  • php二次开发知识,Discuz!二次开发基本知识「建议收藏」

    php二次开发知识,Discuz!二次开发基本知识「建议收藏」必须至少具备如下技能:1)能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)2)扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳4)熟悉使用Discuz!的各项功能一)Discuz!的文件系统目录注:想搞DZ开发,就得弄懂DZ中每个文件的功能。a)Admin:后台管理功能模块b)Api:DZ系统与其它系统之间接…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号