简单工厂模式
解释
一个工厂类,根据获得的参数来构造不同的具体类,这些具体类继承自同一个抽象类。
图形表示
代码实现
#include <iostream>
#include <string>
using namespace std;
class Product {
public:
virtual void use() = 0;
};
class ConcreteProductA : public Product {
public:
virtual void use() override {
cout << "A" << endl;
}
};
class ConcreteProductB : public Product {
public:
virtual void use() override {
cout << "B" << endl;
}
};
class Factory {
public:
Product* Product(const string& str) {
if (str == "A") {
return new ConcreteProductA;
}
else if (str == "B")
return new ConcreteProductB;
}
};
int main() {
Factory factory;
Product* product = factory.Product("B");
product->use();
return 0;
}
如果有错请一定要告诉我!