【问题标题】:How do you know when two objects can communicate?你怎么知道两个对象何时可以通信?
【发布时间】:2009-10-05 17:32:32
【问题描述】:
class GuiMaker(Frame):
    #more code
    def __init__(self, parent=None):
        Frame.__init__(self, parent) 
        self.pack(expand=YES, fill=BOTH)        # make frame stretchable
        self.start()                            # for subclass: set menu/toolBar
        self.makeMenuBar()                      # done here: build menu-bar
        self.makeToolBar()                      # done here: build tool-bar
        self.makeWidgets()                      # for subclass: add middle part
    #more code

class TextEditor:
    #more code
    def start(self):
    #more code

self.start() 怎么会调用 TextEditor 的 start 如果 self 指向 GuiMaker 或者 self 怎么会指向 TextEditor?

【问题讨论】:

    标签: python class object


    【解决方案1】:

    GuiMaker 是否从某处继承 TextEditor?换句话说,Frame 是 TextEditor 的后代吗?这将导致TextEditor 的 start 方法被调用。

    除此之外,我没有看到任何方式让代码(如所写)让GuiMaker.start 调用TextEditor.start

    【讨论】:

    • 您可以随时使用打印语句或 pdb 断点来查看实际调用的内容。
    猜你喜欢
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多