class A(object):pass # 父类,基类,超类 object是类祖宗,一般默认不写 class B:pass # 父类,基类,超类 class A_son(A,B):pass # 子类,派生类 class AB_son(A):pass # 子类,派生类 # 一个类 可以被多个类继承 # 一个类 可以继承多个父类 —— python里 print(AB_son.__bases__) # 查看父类 print(A.__bases__) # (<class 'object'>) 类祖宗
如果没有__init__,就执行父类__init__
父类没有的方法,子类有的:派生属性
父类没有的方法,子类有的:派生方法
class Animal: def __init__(self,name,aggr,hp): self.name = name self.aggr = aggr self.hp = hp def eat(self): print('吃药回血') self.hp+=100 # class Dog(Animal): def __init__(self,name,aggr,hp,kind): Animal.__init__(self,name,aggr,hp) # self.kind = kind # 派生属性 def eat(self): Animal.eat(self) # 如果既想实现新的功能也想使用父类原本的功能,还需要在子类中再调用父类 self.teeth = 2 def bite(self,person): # 派生方法 person.hp -= self.aggr jin = Dog('金老板',100,500,'吉娃娃') jin.eat() # 调用子类,如果子类中没有,调用父类的方法 print(jin.hp)