我有一个主类,它包含程序的主循环和其他变量等。
class main:
def __init__(self):
blah = 'blah'
blah2 = 'blah'
blahhandler = BlahHandler.BlahHandler(self)
blahhandler2 = BlahHandler.BlahHandler2(self)
def mainloop(self):
< IRRELEVANT JUNK >
但是将“自我”传递给blahhandlers是一个坏主意,所以处理程序可以做诸如此类的事情。
#In class 'BlahHandler'
self.main.blahhandler2.doBlah()
print(self.main.blah)
或者我应该直接将blahhandler2传递给blahhandler而不是传递整个主类?对不起,如果这是不可理解的,只因为它听起来像'哇'。
谢谢!
答案 0 :(得分:3)
将main
对象传递给BlahHandler
并没有任何问题。
哪一个更好完全取决于你的对象实际代表什么。以下是一些可以帮助您入门的问题:
BlahHandler
对BlahHandler2
有自己的引用是否有意义,或BlahHandler
引用BlahHandler2
是否始终指的是BlahHandler2
main
是BlahHandler
拥有的main
?main
是否真的有BlahHandler
的引用,或属于{{1}}的属性应该隐藏在{{1}}之内?在开发的早期就提出类似问题的结构,只是因为你现在的工作并且不是不好的做法,并不意味着它最有意义(但它可能!)。
不要担心从速度或内存的角度传递“整个主类”,所有传递的都是参考。