C++ 接口的實現方式
一、接口的定義
有時候,我們得提供一些接口給別人使用。接口的作用,就是提供一個與其他系統交互的方法。其他系統無需了解你內部細節,并且也無法了解內部細節,只能通過你提供
給外部的接口來與你進行通信。根據c++的特點,我們可以采用純虛函數的方式來實現。這樣做的好處是能夠實現封裝和多態。現舉一實例,供大家參考。(不想做過多說明,
大家一看就應該能夠明白)
Class IPerson
{
public:
IPerson(){};
virtual ~IPerson()=0;//注意,最好要定義此虛析構函數,能夠避免其實現不能正常調用析構函數的問題
//提供給外面使用的接口一般采用純虛函數
virtual void SetName(const string &strName)= 0;
virtual const string GetName()= 0;
virtual void Work()= 0;
}
二、接口實現
實現接口是通過繼承接口的子類來實現的,不同的子類可以實現不同效果,即使所謂多態。
Class CTeacher:public IPerson
{
public:
CTeacher(){};
virtual ~CTeacher();
string m_strName;
void SetName(const string &strName);
const string GetName();
void Work();
}
CTeacher::SetName(const string &strName)
{
m_strName = name;
}
const string CTeacher::GetName()
{
return m_strName;
}
void CTeacher::Work()
{
cout <<"I am teaching!"<<endl;//老師的工作是教書,其他職業的人做的工作是不一樣的。
}