一、面向过程编程
详细见博客--面向过程思想:https://www.cnblogs.com/LWX-YEER/p/12577205.html
面向过程变成的核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么然后干什么……
基于面向过程编程的思想编写程序好比在设计一条流水线,是一种机械式的思维方式。
- 优点:复杂的问题流程化、进而简单化
- 缺点:扩展性差
二、面向对象编程
你可以把你自己想象成如来佛祖,然后你想找四个人去取经,所以你就去找了四个人取经。你找来了四个普通人准备让他们去取经,但是这四个人不是猪八戒、也不是孙悟空……所以你给一个普通人加了一个猪耳朵、给了他九齿钉耙;给了另外一个普通人毛脸雷公嘴、给了他一根棍子……所以现在有了猪八戒、孙悟空、沙悟净和唐僧,而现在的这四个角色就是我们所讲的对象。
面向对象编程的核心是对象二字,对象是特征与技能的结合体。
基于面向对象编程的思想编写程序,就好比是在创造一个世界,你就是这个世界的上帝,是一种上帝式的思维方式。面向对象的程序设计并不是全部,对于一个软件质量来说,面向对象的程序设计只是用来解决扩展性
2.1 优点
- 优点:可扩展性强,解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易
2.2 缺点
- 缺点:编程的复杂度要高于面向过程,不了解面向对象而立即上手基于它设计程序,极容易出现过度设计的问题。一些扩展性要求低的场景使用面向对象会徒增编程难度,比如管理linux系统的shell脚本就不适合用面向对象去设计,面向过程反而更加适合。
2.3 应用场景
- 应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方
来源:https://www.cnblogs.com/LWX-YEER/p/12655590.html