面向过程:所谓面向过程就是将一个问题拆分成一个个具体的步骤,每一个步骤通过函数来实现。
面向对象:面向对象同样也是将问题拆分成一个个具体的步骤,但是每个步骤的实现是通过属性和行为组成的对象实现的。 对象的属性就是对象的组成部分,举的最多的一个例子就是车,其中的轮子、发动机、方向盘等就是他的属性;而行为就是该车的动作,例如前行和倒车等。
说到面向对象就不得不提提面向对象的三大特性:
封装:就是将步骤抽象后将属性和行为封装为一个整体。
继承:继承的意思跟其字面意思一样,一个类可以继承一个类,被继承的那个类称为父类,主动继承的那个类称为子类。子类可以继承父类的属性与方法。举个最多的例子就是dog类继承了animal类,那么dog类同样具有animal的属性例如眼睛、鼻子、嘴巴。行为就是吃、喝、拉、撒等操作。
多态:多态就是子类继承父类可以重写父类的方法。使同一个行为可以有不同的作用。比如在父类那儿的作用是吃草,但是子类通过重写了该行为可以改为吃肉,所以行为都是吃的行为,但是具体的实现是可以通过重写来改变的。
说到多态就想起重写和重载的区别,因为有人说动态分为静态多态和动态动态,重写就是动态动态,重载就是静态多态。首先重写是子类继承父类,是同一个方法在两个类中不同的实现,而重载是在一个类里面的,方法名相同、参数类型不同、参数个数不同所带来的不同实现,所以重载一般实现在构造方法方面,那样创建一个类的时候可以根据传递的参数不同来使用不同的构造方法。