导语
大家都知道,C语言是面向过程的语言,C++和Java是面向对象的语言。
但如果细究起来,究竟什么是面向过程?什么是面向对象?大家可能又会有点迟疑,给不出有条理的答案。
我也在这方面有所欠缺,于是打算借着这篇博客梳理一下面向过程和面向对象的特点与区别。
面向过程
什么是面向过程
面向过程(Procedure Oriented,PO),是以过程为中心的编程思想。
面向过程编程的过程就是,先分析解决问题的步骤,然后用函数一步步实现这些步骤,再依次调用。
以五子棋为例,面向过程就是先划分步骤:开始游戏、黑手下棋、绘制、判断输赢、白手下棋、绘制、判断输赢、返回黑手下棋步骤、输出输赢结果。
对于每个步骤,都用方法来实现,然后调用即可。
面向过程的优缺点
优点:
- 性能比较高
缺点:
- 耦合度较高,不易扩展、复用、维护
面向对象
什么是面向对象
面向对象(Object Oriented,OO),是以事务为中心的编程思想。
面向对象编程的过程就是,先将构成问题的事务分解成各个对象,然后对各个对象在解决过程中需要完成的行为进行定义,通过调用各