封装
封装机制将数据和代码捆绑到一起,避免了外界的干扰和不确定性。一个对象就是一个封装了数据和操作这些数据的代码的逻辑实体。
通过访问权限这种控制方式,对象对内部数据提供了不同级别的保护。
继承
继承是可以让某个类型的对象获得另一个类型的对象的属性和方法。
多态
实现不同类的对象,对同一个方法调用,产生不同的响应方式。
包括重载和动态绑定
(1)重载:同一个类中方法的重载——方法名相同,参数个数或参数类型不同,必须在一个域中,即:函数名称相同但是函数参数不同。
(2)重写:子类重写父类中的抽象方法,或子类重写父类中的虚方法
继承:
子类不能从父类继承的有:
1. 构造函数
2. 拷贝构造函数
3. 析构函数
子类能从父类继承的有:
1、静态成员变量
2、静态成员函数
3、友元函数
4、赋值操作符=重载函数
继承中的另一重要概念:
隐藏(hide):
指的是派生类的成员函数隐藏了基类函数的成员函数.隐藏一词可以这么理解:在调用一个类的成员函数的时候,编译器会沿着类的继承链逐级的向上查找函数的定义,如果找到了那么就停止查找了,所以如果一个派生类和一个基类都有同一个同名(暂且不论参数是否相同)的函数,而编译器最终选择了在派生类中的函数,那么我们就说这个派生类的成员函数"隐藏"了基类的成员函数,也就是说它阻止了编译器继续向上查找函数的定义。