Factory Method
对如下Product类
/*Product.h*/
class Product{
public:
Product();
Product(int);
~Product();
int getId();
private:
int id;
};
/*Product.cpp*/
#include "Product.h"
Product::Product(){ id = -1; }
Product::Product(int i){ id = i; }
int Product::getId(){ return id; }
构造一个Factory类用于产生Product
/*Factory.h*/
#include "Product.h"
class Factory{
public:
Product* makeProduct(int);
};
/*Factory.cpp*/
#include "Product.h"
#include "Factory.h"
Product* Factory::makeProduct(int i){
Product *newProduct = new Product(i);
return newProduct;
}
Factory类的职责是调用makeProduct方法并传入一个id,返回一个Product实例的指针。
Factory *myFactory = new Factory();
Product *myProduct=myFactory->makeProduct(3);
网友评论