擅长:python、mysql、java
<p>您的类型检查工作正常;<code>get</code>在<code>CarStore</code>中没有被重写,因此它的注释继续指定它返回<code>StoreObject</code>。如果要更改注释,必须在<code>CarStore</code>中重新定义<code>get</code>,例如添加:</p>
<pre><code>def get(self, index: int) -> Car:
return typing.cast(Car, super().get(index))
</code></pre>
<p>确保<code>import typing</code>可以访问<code>cast</code>(或者使用不合格的<code>cast</code>并将其添加到<code>from typing import Dict</code>导入中)。你知道吗</p>
<p>为了避免运行时性能开销,您只能基于<code>if typing.TYPE_CHECKING:</code>测试有条件地定义<code>get</code>(当静态检查器分析代码时返回<code>True</code>,运行代码时返回<code>False</code>),因此<code>get</code>重载实际上在运行时没有定义。你知道吗</p>