继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,
父类又可称为基类或超类,新建的类称为派生类或子类
一个类可以被多个类继承
一个类可以继承多个父类---仅限于python中
注:在Python 3中,所有的类都有父类,若是没有继承父类,默认都是继承object
class A:#父类、基类、超类(必须放在子类之前)
pass
class A(object):#父类、基类、超类(必须放在子类之前)
pass
class B:
pass
class A_son(A,B):#子类、派生类
pass
class AB_son(A):
pass
print(A_son.__bases__) #结果:(<class '__main__.A'>, <class '__main__.B'>)
print(AB_son.__bases__) #结果:(<class '__main__.A'>,)
print(A.__bases__) #结果:(<class 'object'>,)
super---既可以在累的内部使用,也可以在类的外部使用
在类的内部使用时,需要传默认的使用参数;
在类的外部使用时,必要传类名和对象名
class Animal:
def __init__(self,name,hp,aggr): #self就是一个可以存储很多属性的大字典,不过是往字典里面添加属性的方法发生了变化
self.name = name
self.hp = hp
self.aggr = aggr
def eat(self):
print("打药回血!")
class Dog(Animal):
def __init__(self,name,hp,aggr,kind):
super().__init__(name,hp,aggr) #只在新式类中有,Python3 中所有的类都是新式类
self.kind = kind
def eat(self):
print('dog eating!')
class Person(Animal):
pass
alex = Dog('alex',200,500,'泰迪')
print(alex.kind) #结果:泰迪
alex.eat() #结果:dog eating!
super(Dog,alex).eat() #结果:打药回血!