工厂课程不是我正在寻找的最终产品,但它基本上是我的问题归结为。我正在寻找一个我们将调用 foo 的类,它可以在另一个类 bar 中作为参数传递给它的构造函数,这样当稍后调用 fooInstance.create() 时,它会返回一个新的 bar 实例。我可以很容易地弄清楚如何让 fooInstance.create(bar) 创建一个 bar 的实例。但这不是我需要的。我需要工厂类的每个实例来创建特定类型的对象。所以:
fooCar = new foo(Car);
fooTruck = new foo(Truck);
myCar = fooCar.create();
myTruck = fooTruck.create();
这将是 c# 中的泛型轻松处理的事情。我要么得到错误,要么最终搞砸了 foo 的原型,然后更改了 foo 的所有实例创建的类型。