zoukankan      html  css  js  c++  java
  • 多继承

    Python允许从多个父类继承 , 称为多重继承
    class A(object):
    def __init__(self, a):
    print 'init A...'
    self.a = a

    class B(A):
    def __init__(self, a):
    super(B, self).__init__(a)
    print 'init B...'

    class C(A):
    def __init__(self, a):
    super(C, self).__init__(a)
    print 'init C...'

    class D(B, C):
    def __init__(self, a):
    super(D, self).__init__(a)
    print 'init D...'
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    多重继承通过 super()调用__init__()方法时 , A 虽然被继承了两次,但__init__()只调用一次

    实例
    class Person(object):
    pass

    class Student(Person):
    pass

    class Teacher(Person):
    pass

    class SkillMixin(object):
    pass

    class BasketballMixin(SkillMixin):
    def skill(self):
    return 'basketball'

    class FootballMixin(SkillMixin):
    def skill(self):(http://www.amjmh.com/v/BIBRGZ_558768/)
    return 'football'

    class BStudent(Student, BasketballMixin):
    pass

    class FTeacher(Teacher, FootballMixin):
    pass


    if __name__ == '__main__':
    s = BStudent()
    print(s.skill())
    t = FTeacher()
    print(t.skill())
    ————————————————

  • 相关阅读:
    flask多线程多协程操作
    flask介绍
    centos django+Nginx+uwsgi部署
    centos下运行python3.6+Django+mysql项目
    centos虚拟机下安装nginx
    redis安装
    路飞学城课程_课程详细_作业点评
    redis使用方式
    git命令学习
    组合&多态&封装
  • 原文地址:https://www.cnblogs.com/ly570/p/11408527.html
Copyright © 2011-2022 走看看