#Multiple inheritance
class Base1:
@classmethod
def f1(self):
print 'Base1 f1'
def f2(self):
print 'Base1 f2'
class Base2:
def f1(self):
print 'Base2 f1'
def f2(self):
print 'Base2 f2'
def f3(self):
print 'Base2 f3'
class MultiDerived(Base1, Base2):
def f1(self):
print 'MultiDerived f1'
print '###########Multiple inheritance'
md = MultiDerived()
md.f1() #MultiDerived f1
md.f2() #Base1 f2
md.f3() #Base2 f3
Base1.f1() #Base1 f1 #classmethod
#Base2.f1() #fail
#MultiDerived.f1() #fail
#Multi-level inheritance
class Base:
def f1(self):
print 'Base f1'
class Derived1(Base):
def f1(self):
print 'Derived1 f1'
def f2(self):
print 'Derived1 f2'
class Derived2(Derived1):
pass
print '###########Multi-level inheritance'
d2 = Derived2()
d2.f1() #Derived1 f1
d2.f2() #Derived1 f2
class Base1:
@classmethod
def f1(self):
print 'Base1 f1'
def f2(self):
print 'Base1 f2'
class Base2:
def f1(self):
print 'Base2 f1'
def f2(self):
print 'Base2 f2'
def f3(self):
print 'Base2 f3'
class MultiDerived(Base1, Base2):
def f1(self):
print 'MultiDerived f1'
print '###########Multiple inheritance'
md = MultiDerived()
md.f1() #MultiDerived f1
md.f2() #Base1 f2
md.f3() #Base2 f3
Base1.f1() #Base1 f1 #classmethod
#Base2.f1() #fail
#MultiDerived.f1() #fail
#Multi-level inheritance
class Base:
def f1(self):
print 'Base f1'
class Derived1(Base):
def f1(self):
print 'Derived1 f1'
def f2(self):
print 'Derived1 f2'
class Derived2(Derived1):
pass
print '###########Multi-level inheritance'
d2 = Derived2()
d2.f1() #Derived1 f1
d2.f2() #Derived1 f2
No comments:
Post a Comment