64.面向对象编程

一、面向过程编程

详细见博客--面向过程思想:https://www.cnblogs.com/LWX-YEER/p/12577205.html

面向过程变成的核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么然后干什么……

基于面向过程编程的思想编写程序好比在设计一条流水线,是一种机械式的思维方式。

  • 优点:复杂的问题流程化、进而简单化
  • 缺点:扩展性差

二、面向对象编程

你可以把你自己想象成如来佛祖,然后你想找四个人去取经,所以你就去找了四个人取经。你找来了四个普通人准备让他们去取经,但是这四个人不是猪八戒、也不是孙悟空……所以你给一个普通人加了一个猪耳朵、给了他九齿钉耙;给了另外一个普通人毛脸雷公嘴、给了他一根棍子……所以现在有了猪八戒、孙悟空、沙悟净和唐僧,而现在的这四个角色就是我们所讲的对象。

面向对象编程的核心是对象二字,对象是特征与技能的结合体。

基于面向对象编程的思想编写程序,就好比是在创造一个世界,你就是这个世界的上帝,是一种上帝式的思维方式。面向对象的程序设计并不是全部,对于一个软件质量来说,面向对象的程序设计只是用来解决扩展性

2.1 优点

  • 优点:可扩展性强,解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易

2.2 缺点

  • 缺点:编程的复杂度要高于面向过程,不了解面向对象而立即上手基于它设计程序,极容易出现过度设计的问题。一些扩展性要求低的场景使用面向对象会徒增编程难度,比如管理linux系统的shell脚本就不适合用面向对象去设计,面向过程反而更加适合。

2.3 应用场景

  • 应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方
posted @ 2020-04-07 19:55  祥SHAO  阅读(172)  评论(0编辑  收藏  举报