如果我的基类有像
这样的工厂方法class A:
def gen_new_instance(self) -> 'A':
return copy.deepcopy(self)
和子类
class B(A):
def gen_new_instance(self) -> 'B':
inst = super().gen_new_instance()
# ... set some additional things on `inst`
return inst # inferred type is A, but should really be B
我如何注释超级类A
以指示它将执行正确的操作并返回子类的实例而不是A
的实例?