【基础】面向对象和面向过程语言的区别并举例说明

面向过程

  • 面向强调的是功能行为,以函数为最小单位,考虑怎么做
    面向过程性能比面向对象高。
    因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。

面向对象

  • 强调具备了功能的对象,以类/对象为最小单位,考虑谁来做
    面向对象易维护、易复用、易扩展。
    因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。

面向过程性能比面向对象高??

  • 这并不是根本原因,面向过程也需要计算内存偏移量,分配内存,Java性能差的主要原因并不是因为它是面向对象语言,而是Java是半编译语言,最终的执行代码并不是可以直接被CPU执行的二进制机器码。

  • 而面向过程语言大多都是直接编译成机械码在电脑上执行,并且其它一些面向过程的脚本语言性能也并不一定比Java好。

面向过程实现人把大象装冰箱举例:

  1. 人拿起大象
  2. 打开冰箱门
  3. 把大象装进冰箱
  4. 关上冰箱门

面向对象实现人把大象装冰箱举例:

 *  人{
 * 	   拿起(大象){
 * 	 }
 * 	打开(冰箱){
 * 		冰箱.开开();
 * 	}
 * 	操作(大象){
 * 		大象.进入(冰箱);
 *  }
 *  关闭(冰箱){
 *  	冰箱.合上();
 *     }
 * } 
 * 
 * 大象{
 * 		进入(冰箱){
 *      }
 * }
 * 
 * 冰箱{
 * 		开开(){}
 * 		合上(){}
 * }
发布了37 篇原创文章 · 获赞 5 · 访问量 756

猜你喜欢

转载自blog.csdn.net/qq_43771096/article/details/104404915