Python:将主类传递给其他类是个坏主意吗?

2024-10-06 08:56:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个主类,它保存程序的主循环和其他变量等等。在

class main:
    def __init__(self):
       blah = 'blah'
       blah2 = 'blah'
       blahhandler = BlahHandler.BlahHandler(self)
       blahhandler2 = BlahHandler.BlahHandler2(self)

    def mainloop(self):
       < IRRELEVANT JUNK >

但是,把“自我”传递给布拉汉德尔是个坏主意吗,这样处理者就可以做诸如。。在

^{pr2}$

或者我应该直接把blahhandler2传给blahhandler而不是传递整个主类?抱歉,如果这是不可理解的只是因为它听起来像“废话”。在

谢谢!在


Tags: self程序initmaindefclassblahmainloop
1条回答
网友
1楼 · 发布于 2024-10-06 08:56:41

将您的main对象传递给BlahHandler没有任何问题。在

哪一个更好完全取决于你的对象实际代表什么。下面是几个问题,让您开始:

  • 一个BlahHandler有它自己对BlahHandler2的引用有意义吗,或者当一个BlahHandler引用一个BlahHandler2时,它是否总是指它的BlahHandler2所拥有的BlahHandler2?在
  • 一个BlahHandler真的有一个对main的引用,还是应该对BlahHandler隐藏{}的属性?在

在开发的早期就提出类似于结构的问题,仅仅因为你目前拥有的东西是有效的,而且不是坏的实践,并不意味着它是最有意义的(但它可能是!)。在

不要担心从速度或内存的角度传递“整个主类”,您传递的只是一个引用。在

相关问题 更多 >