1.面向对象的基本特性:继承,封装,多态。
1.1考虑到面向对象的封装性,一般类成员数据尽量不对外,虽然简单但还是尽量使用接口或函数来实现这样利于以后修改与扩展。
如:
class STest
{
public:
int m_nV1;
int m_nV2;
.....
.....
};
test.m_nV1;
如果m_nV1这个成员暴露在外使用,那当如果要对这个成员做统计之类的操作时就需要修改 使用m_nV1/次。
但是如果把这个成员封装成接口,前面提到的操作我们只用修改接口 SetV1 即可。
class STest
{
public:
void SetV1( int v ){ m_nV1 = v }
int GetV1(){ return m_nV1; }
private:
int m_nV1;
int m_nV2;
.....
.....
};
2.多态,表示一个对象可以表示多种类型,即子类能等于父类,类似智能指针那些,通过AoutPtr一个Ptr对象可以转换为各种实际对象。