工厂方法
工厂方法通常用来创建一个类的实例,这是一种应用很普遍的设计模式。在面向对象的语言中,工厂方法通常是隶属于类的静态方法。Python中因为没有相应定义静态方法及类方法的关键字,所以引入了修饰器来标记方法的不同特征。
工厂方法属于类方法,可以直接使用类来调用,这里给出一个工厂方法的示例。
T = TypeVar('T', bound='C') # 声明类型变量T绑定至类型C,即C及C的子类。
class C:
@classmethod
def factory(cls: Type[T]) -> T:
pass
class D(C):
pass
d = D.factory() # 此处将生成D类型的实例。