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)


相关推荐

  • SpringBoot—–SpringBoot序列化Long转String「建议收藏」

    SpringBoot—–SpringBoot序列化Long转String「建议收藏」

  • 5分钟,6行代码教你写爬虫!(python)[通俗易懂]

    5分钟,6行代码教你写爬虫!(python)[通俗易懂]5分钟,6行代码教你写会爬虫!适用人士:对数据量需求不大,简单的从网站上爬些数据。好,不浪费时间了,开始!先来个例子:输入以下代码(共6行)importrequestsfromlxmlimporthtmlurl=’https://movie.douban.com/’#需要爬数据的网址page=requests.Session().get(url)tree=html.f

  • Java邮件发送详解

    Java邮件发送详解电子邮件要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。SMTP服务器地址:一般是smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。电子邮箱(E-Mail地址)的获得需要在邮件服务器上进行申请。比如我们要使用QQ邮箱,就需要开…

  • -xms -xmx(information value)

    前提:找到你的studio64.exe.vmoptions(64位操作系统为例)文件根据需要修改其中的配置如图所示:注:在sun的jdk下,Xms和Xmx设置一样,可以减轻伸缩堆大小带来的压力,但在ibm的jdk下面,设置为一样会增大堆碎片产生的几率,并且这种负面影响足以抵消前者产生的益处 下面介绍JVM调优的参数的含义堆大小设置 JVM中最大堆大小有三方面限制:相关操…

  • 利用Aliddns进行端口映射,外网可以使用域名访问,在公司内网用域名访问不通。

    利用Aliddns进行端口映射,外网可以使用域名访问,在公司内网用域名访问不通。这几天在公司的路由器上做了Aliddns,对公司的内部网络的一些服务映射到公网,在家里就可以访问到公司的一些服务。出现了一个问题:在外网利用域名+端口号可以正常访问到公司的服务,在公司内网的时候访问却没办法利用域名访问,只能用IP才能访问到相关服务找了一些资料,总结原因如下:例:在公司内网访问:访问者:代号A被访问者:代号B路由器:代号R由于在做DDNS时,在路由器上会把B绑定为公网…

  • Linux环境下如何安装wget(CentOS 7系统)「建议收藏」

    Linux环境下如何安装wget(CentOS 7系统)「建议收藏」问题现象:利用Linux自带的wget命令去下载安装相关应用时,提示:“sudo:wget:commandnotfound”如下图所示:问题原因:(1)Linux服务器本身没有自带安装wget,但一般很少有这种情况出现。(2)Linux服务器自带的wget版本过低,无法通过wget命令去安装其它应用。分析过程:先在Linux服务器窗口中,输入如下命令,检查Linux服务器有没有安装过wget。如果出现如下图所示,则说明已经安装过wget,但版本过低,需要将原有版本卸载,再

    2022年10月16日

发表回复

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

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