设计模式-抽象工厂模式

来源:互联网 发布:张无忌实力知乎 编辑:程序博客网 时间:2024/05/19 09:47
创建型设计模式-抽象工厂模式




模式描述:定义一个用于创建相关或相互依赖对象的接口,而不指定他们的具体实现类。




代码实现(创建了成产P1、P2系列产品对象的借口)


//C++




//产品基类


//P1系列产品


class P1


{


public: virtual void productP1()=0;


};


//P2系列产品




class P2


{


public: virtual void productP2()=0;


};








//P1系列产品A类


class P1A: public P1


{


public: void productP1()


{


cout<<"P1系列产品A "<<endl;


}


};






//P1系列产品B类


class P1B: public P1


{




public: void productP1()


{


cout<<"P1系列产品B "<<endl;


}


};








//P2系列产品A类


class P2A: public P2


{


public: void productP2()


{


cout<<"P2系列产品A "<<endl;


}


};






//P2系列产品B类


class P2B: public P2


{




public: void productP2()


{


cout<<"P2系列产品B "<<endl;


}


};






//工厂接口(创建P1、P2系列相关产品对象的接口)


class Factory


{


public:


     virtual P1* createProductP1()=0;


     virtual P2* createProductP2()=0;


};




//生产P1、P2系列产品A的工厂类


class FactoryA:Factory


{


public:


P1* createProductP1(){return new P1A();}


P2* createProductP2(){return new P2A();}


};




//生产P1、P2系列产品B的工厂类


class FactoryB:Factory


{


public:


P1* createProductP1(){return new P1B();}


P2* createProductP2(){return new P2B();}


};
原创粉丝点击