class Base:
def test(self):
print('--------Base--------')
class A(Base):
def test(self):
print('AAAAAAAAAAAA')
class B(Base):
def test(self):
print('BBBBBBBBBBBB')
class C(Base):
def test(self):
print('-------->CCCCCCCC')
class D(A,B,C):
pass
d = D()
d.test()
'''
python允许多继承,
def 子类(父类1,父类2,...)
pass
# 多继承经典类:python2经典类深度优先 python3新式类广度优先
'''
import inspect
print(inspect.getmro(D))
print(D.__mro__)
print(D.mro())
class Person:
def __init__(self,name):
self.name = name
def feed_pet(self,pet):
if isinstance(pet,Pet):
print('{}喜欢养宠物:{},昵称是{}'.format(self.name,pet.nickname,pet.role))
else:
print('千万别养!')
class Pet:
role = 'Pet'
def __init__(self,nickname,age):
self.nickname = nickname
self.age = age
def show(self):
print('昵称:{},年龄:{}'.format(self.nickname,self.age))
class Cat(Pet):
role = '猫'
def catch_mouse(self):
print('抓老鼠...')
class Dog(Pet):
role = '狗'
def wathc_house(self):
print('看家高手...')
class Tiger:
def eat(self):
print('太可怕了,可以吃人...')
cat = Cat('bo',2)
dog = Dog('bigy',2)
person = Person('hh')
tiger = Tiger()
person.feed_pet(cat)
person.feed_pet(tiger)