Java:面向对象与面向过程的比较

面向过程与面向对象的比较

面向过程:

  一种较早的编程思想,顾名思义就是该思想是站着过程的角度思考问题,强调的就是功能行为,功能的执行过程,即先后顺序,而每一个功能我们都使用函数(类似于方法)把这些步骤一步一步实现。使用的时候依次调用函数就可以了。

面向过程的设计:

  最小的程序单元是函数,每个函数负责完成某一个功能,用于接受输入数据,函数对输入数据进行处理,然后输出结果数据,整个软件系统由一个个的函数组成,其中作为程序入口的函数称之为主函数,主函数依次调用其他函数,普通函数之间可以相互调用,从而实现整个系统功能。
  面向过程最大的问题在于随着系统的膨胀,面向过程将无法应付,最终导致系统的崩溃。为了解决这一种软件危机,我们提出面向对象思想。

面向过程的缺陷:

  是采用指定而下的设计模式,在设计阶段就需要考虑每一个模块应该分解成哪些子模块,每一个子模块又细分为更小的子模块,如此类推,直到将模块细化为一个个函数。

存在的问题

  • 设计不够直观,与人类的思维习惯不一致
  • 系统软件适应新差,可拓展性差,维护性低

面向对象:

  一种基于面向过程的新编程思想,顾名思义就是该思想是站在对象的角度思考问题,我们把多个功能合理放到不同对象里,强调的是具备某些功能的对象
  具备某种功能的实体,称为对象。面向对象最小的程序单元是:类。面向对象更加符合常规的思维方式,稳定性好,可重用性强,易于开发大型软件产品,有良好的可维护性。
  在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚。

三大特征:

1:封装(Encapsulation)
2:继承(Inheritance)
3:多态(Polymorphism)
封装是指将对象的实现细节隐藏起来,然后通过公共的方法来向外暴露该对象的功能

继承是面向对象实现软件复用的重要手段,当子类继承父类后,子类是一种特殊的父类,能直接或简介获得父类里的成员

多态是可以直接把子类对象赋给父类变量,但是运行时依然表现出子类的行为特征,这意味着同一类型的对象在运行时可能表现出不同的行为特征

注意:千万不要误解为面向对象一定就优于面向过程的设计。

猜你喜欢

转载自blog.csdn.net/qq_33811662/article/details/80639390