【发布时间】:2026-02-11 01:15:01
【问题描述】:
我有两个类需要在彼此之间传递数据。第一个类实例化第二个。第二类需要能够将信息传递回第一类。但是我不能从第二类再次实例化ClassOne。两个类都运行一个共享计时器,它们在其中轮询不同的事物,因此当它们共享计时器时,它们不能共享它们轮询的对象。
我目前的解决方案(有效)是将一个方法传递给ClassTwo 并用于发送数据备份,但我觉得这可能有点老套,而且是错误的做法。
classOne():
def __init__(self,timer):
self.classTwo = classTwo(self.process_alerts,timer)
self.classTwo.start
def process_alerts(alert_msg):
print alert_msg
classTwo():
def __init__(proses_alerts,timer)
self.process_alerts = process_alerts # <----- class ones method
def start(self):
check for alerts:
if alert found:
self.alert(alert_msg)
def alert(self,alert_msg):
self.process_alert(alert_msg) # <----- ClassOnes method
感谢您的宝贵时间。
【问题讨论】:
-
未来提示:在注释中添加标记,这样代码仍然有效:)。
-
可以将
@staticmethod注解添加到process_alerts。 -
你为什么不从第一类继承第二类呢?
class Two(One): ... -
因为我使用的计时器应用程序重载了 3 个方法,所以两个类都需要在其中包含这些方法并返回不同的信息。
-
我看不出矛盾。