当前位置: 萬仟网 > IT编程>软件设计>面向对象 > 面向过程和面向对象的区别,方法重载和方法重写的区别

面向过程和面向对象的区别,方法重载和方法重写的区别

2019年01月25日  | 萬仟网IT编程  | 我要评论
先有面向过程,而后退出面向对象 面向过程和面向对象两者都是软件开发思想,先有面向过程,后有面向对象。在大型项目中,针对面向过程的不足推出了面向对象开发思想。 打个比方 蒋介石和毛主席分别是面向过程和面向对象的杰出代表,这样充分说明,在解决复制问题时,面向对象有更大的优越性。 面向过程是蛋炒饭,面向对 ...

先有面向过程,而后退出面向对象

 

面向过程和面向对象两者都是软件开发思想,先有面向过程,后有面向对象。在大型项目中,针对面向过程的不足推出了面向对象开发思想。

打个比方

蒋介石和毛主席分别是面向过程和面向对象的杰出代表,这样充分说明,在解决复制问题时,面向对象有更大的优越性。

面向过程是蛋炒饭,面向对象是盖浇饭。盖浇饭的好处就是“菜”“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是“可维护性”比较好,“饭” 和“菜”的耦合度比较低。

 

细说区别

编程思路不同: 面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、执行方法来完成功能。

封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。

面向对象具有继承性和多态性,而面向过程没有继承性和多态性,所以面向对象优势是明显。

面向过程语言代表:c语言

面向对象语言代表:java、python

面向对象与面向过程具体而言,有如下几个方面的不同:

1、出发点不同

面向对象方法是用符合常规思维的方式来处理客观世界的问题,强调把问题域的要领直接映射到对象之间的接口上。而面向过程的方法则强调的则是过程的抽象化与模块化,它是以过程为中心构造或处理客观世界问题的。

2、层次逻辑关系不同

面向对象的方法则是用计算机逻辑来模拟客观世界中的物理存在的,以对象的集合类作为处理问题的单位,尽可能地使计算机世界向客观世界靠拢,以使问题的处理更清晰直接,面向对象方法是用类的层次结构来体现类之间的继承与发展。面向过程方法处理问题的基本单位是能清晰准确地表达过程的模块,用模块的层次结构概括模块或模块间的关系与功能,把客观世界的问题抽象成计算机可以处理的过程。

3、数据处理方式与控制程序方式不同

面向对象方法将数据与对应的代码封装成一个整体,原则上其他对象不能直接修改其数据,即对象的修改只能由自身的成员函数完成,控制程序方式上是通过“事件驱动”来激活和运行程序。而面向过程方法是直接通过程序来处理数据,处理完毕后即可显示处理的结果,在控制方式上是按照设计调用或返回程序,不能自由导航,各模块之间存在着控制与被控制,调动与被调用的关系。

4、分析设计与编码转换方式不同

面向对象方法贯穿于软件生命周期的分析,设计及编码中,是一种平滑过程,从分析到设计再到编码是采用一致性的模型表示,即实现的是一种无缝连接。而面向过程方法强调分析、设计及编码之间按规则进行转换贯穿于软件生命周期的分析、设计及编码中,实现的是一种有缝的连接。

 

方法重载和方法重写(覆盖)的区别

方法重载和方法重写摘自上海尚学堂java面试题集,这是java程序员面试的基础知识点,必须熟记于心!

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

  • 基础知识--系列目录

    1.基础知识--封装、继承、多态、抽象 2.基础知识 const、readonly、static 3.基础知识 IEnumerable、IColle... [阅读全文]
  • OO——电梯作业总结

    OO——电梯作业总结

    [TOC] 电梯作业总结 程序结构与复杂度的分析 第一次作业 1.设计思路 第一次作业是电梯作业的第一次,也是我多线程变成的第一次实践。任务是编写一... [阅读全文]
  • isNotBlank()和isNotEmpty()总结

    import org.apache.commons.lang.StringUtils; import org.junit.Test; public ... [阅读全文]
  • 开发相关的几个概念

    计算机程序中涉及到的概念都比较抽象、专业。经常有初学者程序的人反应说,“别人说的什么名词性的东西,根本不明白是什么意思”。的确,掌握一些开发相关的概... [阅读全文]
  • 【开源】使用Angular9和TypeScript开发RPG游戏(补充了Buffer技能)

    RPG系统构造 通过对于斗罗大陆小说的游戏化过程,熟悉Angular的结构以及使用TypeScript的面向对象开发方法。 "Github项目源代码地址... [阅读全文]
  • 面向对象第八次作业

    面向对象第八次作业

    面向对象第八次作业 代码分析 第五次作业 多线程电梯 UML图和协作图 代码复杂度分析 这次作业的主要难点在于对于多线程的理解和实践,一方面由于老师... [阅读全文]
  • 《全栈工程师 Web 开发指南》 - 学习笔记

    《全栈工程师 Web 开发指南》========== ========== ==========[作者] (意)... [阅读全文]
  • SpringAOP术语

    2019-03-10/21:12:31 参考博客:MiroKlose AOP术语 1.通知: 通知定义了切面要完成的工作内容和何时完成工作,就是什么... [阅读全文]
  • ABTEST实验平台

    ABTEST实验平台

    ABTEST实验与闭环一、单层实验一般早期的ab-test都是单层实验,逻辑非常简单,比如使用userId/de... [阅读全文]
  • python面向对象-1

    1.面向对象的思想优点 优点: 简化代码 ,构建公共模板 ,扩展性强 思想: 类作为模板 ,对象通过模板实例化对象 ,对象去做事 ,抽象将显示存在的... [阅读全文]
验证码:
Copyright © 2017-2020  萬仟网 保留所有权利. 粤ICP备17035492号-1