面向对象的概念

面向过程

面向过程是一种编程思想,就是前辈程序员发现的一种比较好的编程方法。

过程指的是先干什么,再干什么,完成一件事情所有需要的具体步骤。

优点:把复杂的问题流程化,简单化,降低开发难度。

缺点:扩展性差,在当前用户需求千变万化的前提下,对扩展性的要求非常高

使用场景:不需要扩展,或是对外扩展性要求不高,例如Linux内核,shell脚本

面向过程中我们关注的点是,完成这个任务,具体的步骤一步一步去完成。

面向对象

面向对象也是一种编程思想

核心是对象

什么是对象?

在现实生活中实实在在存在的,具备自己的特征和行为的事物。反过来说 对象就是特征和行为(技能)的结合体。

如何来区分

如果能够准确的找到一个事物,他就是一个对象。

面此对象编程:

我们关注的点是,使用什么样的对象可以完成我的任务。

优势:1.对于指挥者(程序员)来说,不需要再关心具体步骤

  2.扩展性,一个单独的个体的特征或行为发生变化,不会影响别人

缺点:1.程序的复杂度变高,你得需要设计这个对象,注意要避免过度设计的问题

    2.程序的执行结果可控性低

类与对象

类就是分类,类型的意思

定义:一堆具有相同特征和行为的事物的抽象概念,不实际存在

先有类还是先有对象

生活中:生活中类怎么来的,是通过对象的特征和行为抽取而来,所以是先有对象才有类

编程中:必须先有类,才能有对象,因为你必须先告诉程序,你这个对象有什么特征和行为。

类的作用:

用于描述该类的对象具备什么样的特征和行为。