“这是关于创建对象(产品)而不指定将要创建的对象的确切类别”。怎么会这样?并且如果有一个 evryone 继承自它的抽象类 - 听起来像“多态性”。有什么区别呢?
谢谢你!
“这是关于创建对象(产品)而不指定将要创建的对象的确切类别”。怎么会这样?并且如果有一个 evryone 继承自它的抽象类 - 听起来像“多态性”。有什么区别呢?
谢谢你!
让我们考虑一下,我们有一个接口:
public interface IClass {}
此外,我们有两个继承该接口的类(或抽象类,或任何其他基类):
public class First : IClass {}
public class Second: IClass {}
第一个用于生产代码中的员工,第二个用于测试。
你有一个工厂方法:
public IClass GetClass ()
{
if(InTest) return new Second();
else
return new First();
}
因此,调用此方法的代码并未指定将创建的确切类。它只知道如何使用它。