工厂方法模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。
例如:有一个产品类,它分别有两个子类为产品1和产品2,工厂方法模式就是定义一个创建这个产品对象的接口,具体要创建产品1还是产品2,就由这个接口的了类去进行,而接口本身不用去管,比如这个接口又有两个字类分别为接口1和接口2,接口1负责创建产品1,接口2负责创建产品2。
代码示例:
public abstract class Product public class Product1:Product pulic class Product2:Product
{ { {
public abstract void A(); public override void A(){ 方法的实现} public override void A(){方法的实现}
public abstract void B(); public override void B(){ 方法的实理} public override void B(){方法的实现}
} } }
public abstract class Creator public class Creator1:Creator public class Creator2:Creator
{ { {
public abstract Product Create(); public override Product Create(){ return new Product1()} public override Product Create(){ return new Product1()}
} } }
用法:
Creator c=new Creator1();
c.Creator().A();