//桥接模式,将抽象与实现分离,使之独立
#include <iostream>
using namespace std;
class Fruit
{
public:
virtual void make_product() = 0;
};
class AbstractFactory
{
public:
AbstractFactory(Fruit* ptr)
{
ptrFruit = ptr;
};
virtual void make_product() = 0;
public:
Fruit* ptrFruit;
};
class Banana : public Fruit
{
public:
virtual void make_product()
{
cout << "我是香蕉原料" << endl;
}
};
class Apple : public Fruit
{
public:
virtual void make_product()
{
cout << "我是苹果原料" << endl;
}
};
class NorthFacorty : public AbstractFactory
{
public:
NorthFacorty(Fruit* ptr) :AbstractFactory(ptr)
{
;
}
virtual void make_product()
{
cout << "北方工厂,加工原料为:";
ptrFruit->make_product();
}
};
class SouthFacorty : public AbstractFactory
{
public:
SouthFacorty(Fruit* ptr) :AbstractFactory(ptr)
{
;
}
virtual void make_product()
{
cout << "南方工厂,加工原料为:";
ptrFruit->make_product();
}
};
void main()
{
Fruit* fruit = new Banana;
AbstractFactory* af = new NorthFacorty(fruit);
af->make_product();
delete af;
af = new SouthFacorty(fruit);
af->make_product();
delete fruit;
delete af;
system("pause");
return;
}
桥接模式
最新推荐文章于 2024-04-21 06:13:02 发布