Java 面试基础:面向对象和面向过程的区别
一、前言
对于 Java 相关的刷题知识这个专栏是首次做的,我会从简单到复杂来分享相关知识点,如有不妥之处,还请大佬指正。要想分享 Java 相关的知识点,首先要知道的就是 Java 语言的特点。那么本道题目就来分享一下关于面向对象和面向过程的区别的知识点,具体分析如下所示。
二、知识点
1、面向过程 :
面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。
2、面向对象 :
面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。
三、对比
问题点:面向过程性能比面向对象高吗?
面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发。
四、拓展延伸
其实这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java 性能差的主要原因并不是因为它是面向对象语言,而是 Java 是半编译语言,最终的执行代码并不是可以直接被 CPU 执行的二进制机械码。而面向过程语言大多都是直接编译成机械码在电脑上执行,并且其它一些面向过程的脚本语言性能也并不一定比 Java 好。
五、总结
面向过程性能比面向对象高。通过上述二者的对比之后,应该知道了从基础知识到性能是面向过程性能更高一筹。以上就是本篇文章的知识点,欢迎指正批评。欢迎关注三掌柜的微信公众号“程序猿 by 三掌柜”,三掌柜的新浪微博“三掌柜 666”,欢迎关注!
三掌柜的微信公众号:
三掌柜的新浪微博:
版权声明: 本文为 InfoQ 作者【三掌柜】的原创文章。
原文链接:【http://xie.infoq.cn/article/54670f870acb67736f5d4ce1a】。文章转载请联系作者。
评论 (1 条评论)