一、什么是面向过程?

面向过程是一种以过程为中心的编程思想,其原理就是将问题分解成一个一个详细的步骤,然后通过函数实现每一个步骤,并依次调用。 面向过程我们所关心的是解决一个问题的步骤,举个例子,汽车发动、汽车熄火,这是两个不同的事件,对于面向过程而言,我们关心的是事件本身,因此我们会使用两个函数完成以上两个动作,然后依次调用即可。

二、什么是面向对象?

面向对象则是一种以对象为中心的编程思想,就是通过分析问题,分解出一个一个的对象,然后通过不同对象之间的调用来组合解决问题。建立对象的目的不是为了完成某个步骤,而是为了描述某个事物在解决整个问题的过程中的行为。 如上面的例子,汽车发动、汽车熄火,对于面向对象而言,我们则关心的是汽车这类对象,两个事件只是这类对象所具备的行为。

三、面向对象的三大基本特征是什么?

1、封装

封装就是将一个类的某些信息隐藏在类的内部,不允许外界直接访问,而是提供某些方法实现对隐藏信息的访问和操作。 封装的好处就是增强了数据安全性以及隐藏了类的实现细节,使用者无需了解具体实现细节,只需通过特定的接口进行访问,这样也方便类自身的实现和修改。

2、继承

继承是类与类之间的一种关系,即子类继承父类的特征和行为,使得子类具有和父类相同的属性和行为。 继承的好处在于子类继承了父类的属性和方法从而实现了代码的复用

3、多态

多态是指一个类对象的相同方法在不同情形下有不同的表现形式。 多态使得具有不同内部结构的对象可以共享相同的外部接口。