擅长:python、mysql、java
<p>在我看来,基类不应该有if语句。你知道吗</p>
<pre><code>class Channel:
def run(self, conf):
raise ValueError
class TCPChannel(Channel):
def run(self, conf):
return self.run_as_tcp(conf)
class UDPChannel(Channel):
def run(self, conf):
return self.run_as_udp(conf)
</code></pre>
<p>我可以想象,tcp不需要像udp那样运行,所以重写的类应该包含按照它所属的通道类型运行的逻辑</p>
<p>基于您的编辑,我认为尝试为该函数提供一些随机值不是一个好主意,上面的解决方案应该仍然有效,但是您昂贵的方法应该直接调用<code>run_as_tcp</code>和<code>run_as_udp</code>。你知道吗</p>