classAnimal:def__init__(self,name,hp):
self.name = name
self.hp = hp
classDog(Animal):pass
dog = Dog('二狗',100)print(dog.name)
2.继承以及属性的派生
classAnimal:def__init__(self,name,hp):
self.name = name
self.hp = hp
classDog(Animal):#继承def__init__(self,name,hp,sex):
Animal.__init__(self,name,hp)
self.sex = sex #在继承的基础上实现了属性的派生
dog = Dog('二狗',100)print(dog.name)print(dog.sex)
3.子类中与父类中有相同的方法名时优先调用子类的方法
classAnimal:def__init__(self,name,hp):
self.name = name
self.hp = hp
defeat(self):print('eating')classDog(Animal):#继承def__init__(self,name,hp,sex):
Animal.__init__(self,name,hp)
self.sex = sex #在继承的基础上实现了属性的派生defeat(self):print('dog eating')
dog = Dog('二狗',100)print(dog.name)print(dog.sex)
dog.eat()#调用的是子类的eat方法,打印的是 dog eating
4.子类中调用父类的方法
classAnimal:def__init__(self,name,hp):
self.name = name
self.hp = hp
defeat(self):print('eating')classDog(Animal):#继承def__init__(self,name,hp,sex):
Animal.__init__(self,name,hp)
self.sex = sex #在继承的基础上实现了属性的派生defeat(self):
Animal.eat(self)#在子类中调用父类的方法,在调用子类的方法的时候父类的也被调用了print('dog eating')
dog = Dog('二狗',100)
dog.eat()# 会先打印 eating 再打印 dog eat