静态构造函数有什么优点以及什么时候适合使用?
public class MyClass
{
protected MyClass()
{
}
public static MyClass Create()
{
return new MyClass();
}
}
然后通过创建该类的实例
MyClass myClass = MyClass.Create();
而不是只有一个公共构造函数并使用创建对象
MyClass myClass = new MyClass();
我可以看到,如果 Create 方法返回该类实现的接口的实例,第一种方法很有用......它将强制调用者创建接口的实例而不是特定类型。
这就是工厂模式,它通常可用于生成子类,但允许静态方法的参数确定是哪一个。
如果并不总是需要新对象,例如在池实现中,也可以使用它。
如果对象的所有实例需要缓存或以其他方式在创建时注册,也可以使用它。这可以确保客户不会忘记这样做。
当然,它是单例模式的重要组成部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)