【抽象】指“数据抽象”和“代码抽象”
数据抽象:指对象的属性(用类的成员变量来实现)
代码抽象:指对象的行为(用类的成员函数来实现)
【封装】将抽象得到的“成员变量”和“成员函数”相结合,形成一个有机的整体
用类来实现
【继承】体现在代码的重用性&派生类不一样的扩展上,派生类继承后可有除基类公有的的属性和方法外,也可拥有自己独有的属性和方法。
如基类是动物,子类有猫、鸟等,猫和鸟都会走,走的方法就是基类中并通过继承获得,而飞和跑的方法再各自的类中。
用类之间的继承来实现
【多态】多态主要是满足在基类的函数里实现多态,即派生类公用基类的某个函数的内部架构,如处理消息的架构。.
一个名称(成员函数名),多个实现(多个函数体)
1重载多态(OVERLOAD):指“同一个类中的&基类与派生类”的函数的形参个数&类型不同,但函数名相同的函数
2包含多态(OVERRIDE):指基类的虚函数
动态联编:
指基类函数中通过基类指针调用虚函数,这条语句只有在程序运行起来时才能确定进入哪个函数体,当基类指针存了不同的派生类对象的地址时这条语句可进入N个函数体
虚函数的作用:
主要是实现了基类函数的封装,通过基类指针调用基类虚函数,因为这时基类指针保存了派生类的地址,所当派生类重载了基类的虚函数时就会调用了派生类的函数了。
当封装好基类函数&全局函数后,以下3点最重要:
A 派生类对象的创建
B 派生类对象的保存(可选)
C 派生类对象的传递方式(可选)
D 设置基类指针
E 基类指针->基类虚函数(可间接调用)
3强制多态 :指运算符重载,主要是指类中用。如"+"来实现两个对象之间的运算
4参数多态 :指类模版
【消息的传递】
队列的作用是异步的优势,如发送到消息队列后系统将继续工作,不用等待消息的处理过程。
内联函数:同宏的区别是内联函数具有类的封装性。
纯虚函数:纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。
友元函数:友元函数的另一个作用是使用类内的一个函数时不用创建对象调用了。