工厂方法

工厂方法通常用来创建一个类的实例,这是一种应用很普遍的设计模式。在面向对象的语言中,工厂方法通常是隶属于类的静态方法。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类型的实例。