1、封装
封装是面向对象的特性之一,是对象和类概念的主要特征。封装,也就是把客观失误封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,堆不可信的进行信息隐藏。
class Animal
{
public: //这就是公共成员,外部的接口
void SetAnimalName(string strname);
void ShowAnimalName();
private: //这是私有成员,外部是无法访问到的
string m_strName;
};
此例中,我们可以通过封装使一部分成员充当类与外部的接口,而将其它的成员隐藏起来,这样就限制了外部对成员的访问。
2、多态
不同类对象对相同行为的不同的反应,我们就把它叫做多态。
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
using namespace std;
class Father
{
public:
void Face()
{
cout << "Father's face" << endl;
}
virtual void Say()
{
cout << "Father say hello" << endl;
}
};
class Son:public Father
{
public:
void Say()
{
cout << "Son say hello" << endl;
}
};
void main()
{
Son son;
Father *pFather=&son; // 隐式类型转换
pFather->Say();
}
两个say函数即为多态的实现。
3、继承
继承可以使子类具有父类的各种属性和方法,而不需要再次编写相同的代码,在令子类继承父类的同时,可以重新定义某些属性,并重新定义某些方法,即覆盖父亲的原有属性和方法,使其获得与父类不同的功能。