标签:
面向对象的三大特征是封装,继承和多态。
封装:所谓封装就是把客观事物封装成抽象的类,把一组数据和操作这些数据的函数封装在一起就形成了类,在声明类时,我们把有些数据和函数声明为公用的,把有些数据和函数声明为私有的,凡是被指定为公用的数据或函数,即可以被本类中的成员函数调用,也可以被类外的语句所调用,被指定为私有的成员只能被本类的成员函数所调用,而不能被类外的语句调用,这样做的目的是对某些数据进行保护,防止程序中的无关部分错误的调用了私有成员。
继承:继承主要是解决软件的可重用性问题,所谓继承就是在一个已存在的类的基础上建立一个新的类,这个新类从已有的类哪里获得其已有特性,通过继承创建的新类成为子类或派生类,被继承的类成为父类或基类,
多态性:同一个信息被不同的对象接收时可能会产生完全不同的行为,这就是多态性,多态机制使具有不同内部结构的对象可以共享相同的外部接口,多态性分为静态多态性和动态多态性,函数重载就是静态多态性,静态多态性在程序编译时就知道调用函数的全部信息,在程序编译时就能决定要调用的是哪个函数,另外一个就是动态多态性,动态多态性是通过虚函数实现的,在没有使用虚函数时,当我们通过指向基类对象的指针去访问派生类时,我们只能访问派生类中的基类成员,而不能访问派生类所增加的成员,当我们基类的某个成员函数声明为虚函数,允许在派生类中对该函数重新定义,赋予它新的功能,并且可以通过指向基类的指针去调用派生类的函数,由虚函数实现的动态多态性就是,同一类族中不同类的对象,对同一函数调用做出不同的响应。
多态的作用是什么,封装可以隐藏实现细节,使得代码模块化,继承可以扩展以存在代码模块,他们的目的都是为了代码重用,而多态则是为了实现另一个目的—接口重用,
标签:
原文地址:http://www.cnblogs.com/cumtchw/p/4726580.html