代码问题!
class Person(object):
def __init__(self,a):
self.a=a
class Student(Person):
def __init__(self,a):
super(Student,self).__init__(a )
class Teacher(Person):
def __init__(self,a):
super(Teacher ,self).__init__(a )
class SkillMixin(object):
def __init__(self,skill):
self.skill=skill
class BasketballMixin(SkillMixin ):
def skill(self):
return 'basketball'
class FootballMixin(SkillMixin):
def skill(self):
return 'football'
class BStudent(Student ,BasketballMixin ):
def __init__(self,a,skill):
super(BStudent,self).__init__(a)
super(BasketballMixin ,self).__init__(skill)
class FTeacher(Teacher ,FootballMixin ):
def __init__(self,a,skill):
super(FTeacher,self).__init__(a)
super(FootballMixin ,self).__init__(skill)
b=BStudent ('Tom','basketball')
print b.skill
f=FTeacher ('Bob','football')
print f.skill
为什么class BStudent 里继承BasketballMixin属性,要写成super(BasketballMixin,self).__init__(skill)而不是这样super(BStudent,self).__init__(skill)???