zoukankan      html  css  js  c++  java
  • 第十一章、super()详解

    第十一章、super()详解

    一、引出super()来由

    原始用法:

    在python类的方法中,要调用父类的某个方法,通常是类.方法()

    使用非绑定的类方法(用类名来引用的方法),并在参数列表引入待绑定的对象self,达到调用父类方法的目的。

    缺点:

    这样做的缺点是,当一个子类的父类发生变化时(如类B的父类由A变为C时),必须遍历整个类定义,把所有的通过非绑定的方法的类名全部替换过来

    如果代码简单,这样的改动或许还可以接受。但如果代码量庞大,这样的修改可能是灾难性的。

    解决方案:

    于是,python加入了super关键字

    class A(object):    # A must be new-style class
      def __init__(self):
       print "enter A"
       print "leave A"
    
    class B(C):     # A --> C
      def __init__(self):
       print "enter B"
       super(B, self).__init__()
       print "leave B"
    
  • 相关阅读:
    Redis详解(一)——RDB
    十、行锁
    go 上下文context
    go log
    go 结构体取代类
    go select
    go channel
    go 协程(Goroutine)
    go 学习之fmt包
    go 学习之bufio
  • 原文地址:https://www.cnblogs.com/demiao/p/11421044.html
Copyright © 2011-2022 走看看