zoukankan      html  css  js  c++  java
  • python之类之多继承

    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,C
    
    
    class 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
    

      

  • 相关阅读:
    vue2手写vuex
    200.岛屿数量(DFS M-岛屿系列)
    739.每日温度(栈M)
    150.逆波兰表达式求值(栈M)
    20.有效的括号(栈L)
    前端性能优化与SEO优化整理
    Typescript:类型断言
    如何在浏览器中快速调试Typescript
    Typescript:枚举
    Typescript:接口
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/7207805.html
Copyright © 2011-2022 走看看