• 继承类构造方法使用


    1,调用未绑定的超类构造方法

    class Bird:
        def __init__(self):
            self.hungry = True
    
        def eat(self):
            if self.hungry:
                print("eee")
                self.hungry = False
            else:
                print("No,thanks!")
            # print("eat!")
    
    
    class SongBird(Bird):
        def __init__(self):
            Bird.__init__(self)
            self.sound = "squak"
    
        def sing(self):
            print (self.sound)
    
    
    sb = SongBird()
    sb.eat()

    2,使用super函数

    __metaclass__=type#super函数只在新式类中起作用
    class Bird:
        def __init__(self):
            self.hungry = True
    
        def eat(self):
            if self.hungry:
                print("eee")
                self.hungry = False
            else:
                print("No,thanks!")
            # print("eat!")
    
    
    class SongBird(Bird):
        def __init__(self):
            super(SongBird,self).__init__()
            self.sound = "squak"
    
        def sing(self):
            print (self.sound)
    
    
    sb = SongBird()
    sb.eat()

    一个类继承多个超类的情况下,只需要使用一次super函数就可以

  • 相关阅读:
    面向对象的相关知识
    模块的导入
    正怎表达式在爬虫里的应用
    前端~css
    CSS知识点
    初识Html
    Python之路--协程/IO多路复用
    进程
    锁 和 线程池
    操作系统-并发-线程-进程
  • 原文地址:https://www.cnblogs.com/xiaozeng6/p/11105050.html
Copyright © 2020-2023  润新知