1、把程序比喻成做一件事,面向过程编程:把这件事分成一个一个的小步骤,有一个全能类,做所有的事,可以使用所有的资源,按照步骤把事情做好。面向对象编程:把这件事分工,每个人做其中的一部分,大家协作把事情完成。
2、面向对象的特征:抽象,封装,继承,多态。
3、抽象:使用抽象类的引用指向具体对象,只需要接口。
4、封装:自己的东西不允许别人访问,可以是代码模块化,隐藏内部的实现细节。
5、继承:Is_A的关系,可以代码复用。
6、多态:分为编译时多态和运行时多态。
a、编译时多态:分为过载和模版参数具现。过载:对于同名的方法,根据形参表的不同确定调用哪个方法。模版参数具现,在编译期,生成不同的模版方法或者模版类。
b、抽象类的引用指向具体对象,对于virtual方法,根据对象的真实类型决定调用哪个方法,这是运行时多态。
运行时多态使抽象变成可能。