python之類之多繼承

來源:互聯網
上載者:User

標籤:2.7   廣度優先   沒有   log   深度   object   div   test   為我   

class A(object):    def test_func(self):        print("from A")class B(A):    pass    # def test_func(self):    #     print("from B")class C(A):    pass    # def test_func(self):    #     print("from C")#多繼承,2.7和3.0還是有點不一樣的,2.7的經典類是深度優先,3.0的經典類也是廣度優先,3.0的新式類也是廣度優先,就比如類D繼承C類和B類,和C類和B類分別繼承A類#如果A B C D中都有一個相同的方法,那麼調用的順序是D,C,B,A,因為我們這裡是class D(C,B),所以是調用的順序是C,B,如果是class D (B,C),那麼調用的順序就是B,Cclass D(C,B):    pass    # def test_func(self):    #     print("from D")d = D()d.test_func()# 1、如果類D中有test_func這個方法,那麼執行該則執行的類D的方法# from D#2、如果類D中沒有test_fucn這個方法,那麼首先執行的類C中test_func的方法# from C#3、如果類C中沒有test_func這個方法,那麼就會執行類B中的test_func的方法# from B#4、如果類B、C中沒有test_func這個方法,那麼就會執行類A中的test_func的方法# from A

  

python之類之多繼承

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.