• 多继承


    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())
    ————————————————

  • 相关阅读:
    质量属性分析之《淘宝网》
    每日总结(3.7)
    每日总结(3.6)
    读架构漫谈有感
    每日总结(3.5)
    每日总结(3.4)
    laravel 输出时间少了8小时
    laravel 循环添加新的数据之后如何排序
    php trait使用详解
    laravel Guzzle使用
  • 原文地址:https://www.cnblogs.com/ly570/p/11408527.html
Copyright © 2020-2023  润新知