abstract class AbstractWheel { public AbstractWheel() { //Console.Write("Create a AbstractProduct"); } } abstract class AbstractOilBox { public AbstractOilBox() {} } class BMWWheel:AbstractWheel { public BMWWheel() { Console.Write("Create a BMWwheel"); } } class BMWOilBox:AbstractOilBox { public BMWOilBox() { Console.Write("Create a BMWOilBox"); } } 然后,我们在建立一个生产这些零件的工厂,它继承自一个抽象工厂 //抽象工厂 abstract class AbstractFactory { abstract public AbstractWheel CreatWheel(); abstract public AbstractOilBox CreatOilBox(); } class BMWFactory:AbstractFactory { public override AbstractWheel CreatWheel() { return new BMWWheel(); } public override AbstractOilBox CreatOilBox() { return new BMWOilBox(); } } 现在我们在Main函数中调用它们: static void Main(string[] args) { AbstractFactory factory = null; factory = new BMWFactory(); factory.CreatWheel(); Console.Write("/n"); factory.CreatOilBox(); Console.Write("/n"); Console.Read(); } 显示结果: Create a BMWwheel Create a BMWOilBox