首页 > 其他 > 详细

面向对象和面向过程

时间:2020-05-17 15:22:42      阅读:54      评论:0      收藏:0      [点我收藏+]
  • 面向过程 :面向过程是按照功能来分析系统需求,主要原则:自顶向下,逐步求精,模块化等;面向过程设计中最小的程序执行单元是函数,每个函数都负责完成一个功能,用以接受一些输入数据,函数对这些输入数据进行处理,处理结束后输出一些数据。整个软件系统由一个个函数组成,其中作为程序入口的函数被称为主函数,主函数依次调用其他普通函数,普通函数之间依次调用,从而完成整个系统的功能
  • 面向对象 :以现实世界中的事物(即对象)为中心认识问题,并根据这些事物的本质特点,把它们抽象为系统中的类,作为系统的基本构成单元。面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护和复用。
  • 区别:
  • 面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展;面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。
  • 不过这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java 性能差的主要原因并不是因为它是面向对象语言,而是 Java 是半编译语言,编译生成的字节码(.class)的执行代码并不是可以直接被 CPU 执行的二进制机械码,需要使用JVM进行解释成机器码才能执行,好处就是跨平台,便于移植。就是执行效率付出了一定代价。而面向过程语言大多都是直接编译成机械码在电脑上执行,并且其它一些面向过程的脚本语言性能也并不一定比 Java 好。

面向对象和面向过程

原文:https://www.cnblogs.com/jfx2019/p/12905311.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!