我刚刚读了一本关于面向对象编程模式的书。它描述了一种工厂模式,您可以通过该模式调用对象的静态工厂方法,并且该对象将返回预期类型的新对象,但它将被适当地子类化。
我的问题,这个功能可以由类的构造函数提供吗?如果有怎么办?我不是为什么?想象一下,我有一个名为 VillagePerson 的类,它有子类 PoliceOfficer、NativeAmerican、Cowboy、Biker、ConstructionWorker 和 Sailor。构造函数获取人员的文本字符串描述,对其进行解析,然后返回我想要的特定类型的人员。这仅适用于静态工厂方法吗?