zoukankan      html  css  js  c++  java
  • Python: 你不知道的 super

    http://python.jobbole.com/86787/

    这里面还没写全.比如

    class Base(object):
        def __init__(self):
            print ("enter Base")
            print( "leave Base")
     
    class A(Base):
        def __init__(self):
            print( "enter A")
            super(A, self).__init__()
            print("leave A")
     
    class B(Base):
        def __init__(self):
            print ("enter B")
            super(B, self).__init__()
            print( "leave B")
     
    class C(A):
        def __init__(self):
            print ("enter C")
            super(A, self).__init__()
            print( "leave C")
    c = C()

    泡完之后会发现结果:

    enter C
    enter Base
    leave Base
    leave C

    说的意思就是supre这个函数的第一个变量可以不是他所在的类.

    这里c的init函数里面的super直接super A了 所以他直接调用的是A的父,所以是Base.所以打印就只有C和base

  • 相关阅读:
    Git 修改已提交的commit注释
    设置git bash中显示行号等
    JS 获取字符串长度
    泛型接口
    约束
    泛型方法
    泛型
    重载运算符
    自定义转换
    装箱和拆箱
  • 原文地址:https://www.cnblogs.com/zhangbo2008/p/8451224.html
Copyright © 2011-2022 走看看