设计模式-Factory模式戏说
1。利用抽象基类继承的方式,和抽象基类之间的从属关系来构造整个系统,达到一个相对清晰的类层次关系。
2。保持整个系统的可扩展和最低的维护成本。
我说清楚了吗?上码,^_^。
///
class 导弹
{
public:
vitrual ~导弹();
protected:
导弹();
}
//------------------------------------------------------------
class 地对空导弹 :public 导弹
{
public:
地对空导弹();
~地对空导弹();
}
class 反导防御:public 导弹
{
public:
反导防御();
~反导防御();
}
/
class 车轱辘
{
public:
vitrual ~车轱辘();
protected:
车轱辘();
}
//-------------------------------------------------
class 韩国车轱辘 :public 车轱辘
{
public:
韩国车轱辘();
~韩国车轱辘();
}
class 东风车轱辘 :public 车轱辘
{
public:
东风车轱辘();
~东风车轱辘();
}
/
class 轮胎
{
public:
vitrual ~轮胎();
protected:
轮胎();
}
//---------------------------------------------
class 米琪琳 :pubilc 轮胎
{
public:
米琪琳();
~米琪琳();
}
class 吉利 :pubilc 轮胎
{
public:
吉利();
~吉利();
}
//
class 汽车
{
public:
vitrual ~汽车();
virtual 轮胎* 轮胎()const {return new 轮胎;}
virtual 车轱辘* 车轱辘()const {return new 车轱辘;}
virtual 导弹* 导弹()const {return new 导弹;}
protected:
汽车();
}
class 我的车 : public 汽车
{
public:
我的车();
~我的车();
virtual 轮胎* 轮胎()const {return new 吉利;}
virtual 车轱辘* 车轱辘()const {return new 东风车轱辘;}
virtual 导弹* 导弹()const {return new 地对空导弹;}
}
class 老婆的车 : public 汽车
{
public:
老婆的车();
~老婆的车();
virtual 轮胎* 轮胎()const {return new 米琪琳;}
virtual 车轱辘* 车轱辘()const {return new 韩国车轱辘;}
virtual 导弹* 导弹()const {return new 反导防御;}
}
class 童车 : public 汽车
{
public:
童车();
~童车();
virtual 轮胎* 轮胎()const {return new 吉利;}
virtual 车轱辘* 车轱辘()const {return new 东风车轱辘;}
virtual 导弹* 导弹()const {return new 反导防御;}
}
设计模式-Factory模式戏说
最新推荐文章于 2011-05-16 13:01:00 发布