设计模式---工厂方法模式(c++实现)

    xiaoxiao2021-03-25  70

    /********************************************************* 工厂方法:     与简单工厂的区别,将产品的创建分别委托给单独的类,即一个工厂对应一个产片     而不是将所有产品的创建交给一个类来管理     1.首先创建工厂     2.通过此工厂来获取对应的产品(将对象的创建放到工厂中创建) ***********************************************************/ #include "iostream" using namespace std; class Fruit { public:     virtual void sayname() = 0; }; class FruitFactory { public:     virtual Fruit* getFruit() = 0; }; class Banana : public Fruit { public:     virtual void sayname()     {         cout << "Banana " << endl;     } }; class BananaFactory : public FruitFactory { public:     virtual Fruit* getFruit()     {         return new Banana;     } }; class Apple : public Fruit { public:     virtual void sayname()     {         cout << "Apple " << endl;     } }; class AppleFactory : public FruitFactory { public:     virtual Fruit* getFruit()     {         return new Apple;     } }; void main() {     FruitFactory * ff = new BananaFactory();     Fruit *fruit = ff->getFruit();     fruit->sayname();     delete fruit;     delete ff;

        ff = new AppleFactory();     fruit = ff->getFruit();     fruit->sayname();     delete fruit;     delete ff;     system("pause"); }  

    转载请注明原文地址: https://ju.6miu.com/read-36625.html

    最新回复(0)