簡體   English   中英

調用內部 class 的 function

[英]Call function of inner class

我有兩個類 - AClassBClass AClass調用BClass 現在BClass想要訪問 AClass 中定義的AClass 怎么做? 下面的代碼有效。 但是,我不知道它是否是 Pythonic。

class AClass():

    def __init__(self):
        print("AClass init")
        pass

    def foo(self):
        print("foo")
        # Calls BClass()
        a = BClass(self)
    
    def bar(self):
        print("bar")

class BClass():
    def __init__(self, Parent):
    
        print("BClass init")
        self.Parent = Parent
        self.baz()

    def baz(self):
        # Want to call bar() function of AClass()
        self.Parent.bar()

a = AClass()
a.foo()

Inheritance用於表示一個class (子)將從parent class獲得其大部分或全部功能(方法和屬性)。 它允許我們定義一個class繼承另一個 class 的所有方法和屬性。

Parent class :繼承自 class。 Child class :繼承自另一個 class 的 class。

您可以使用super() method訪問父 class 的方法和變量。 這可以通過以下方式實現:

class First:
    def __init__(self):
        self.a=0
    def method1(self):
        return self.a
class Second(First):
    def __init__(self):
        super().__init__()    #this will call the __init__() method of class First

這就是如何使用 inheritance 來實現代碼的可重用性。 這里Firstparent classSecondchild class ,其父是First

希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM