class A: pass #父类,基类,超类
class B: pass #父类
class A_son(A): pass #子类,派生类
class AB_son(A,B):pass
#一个类可以被多个类继承
#一个类可以继承多个父类(python特有)
A_son.__bases__ #class '__main__.A'查看父类
A.__bases__ #object 类祖宗 python3里面所有类都有父类,新式类,默认继承object
父类中没有的属性在子类中出现叫做派生属性
父类中没有的方法在子类出现叫做派生方法
只要是子类的对象调用,子类中有的一定用子类的,没有才用父类的
如果既想实现新功能也想使用父类原本的功能,还需要在子类中调用父类Animal.eat(self)
super().__init__(name,att,hp) #调用父类 只在新式类中有,py3中的所有类都是新式类
super(Dog,jin).eat() #调用父类方法,在外部使用必须传self参数
##################################################
class Animal:
def __init__(self):
print('Animal.__init__')
self.func() #此时的self是Dog里的
def eat(self):
print('%s is eating'%self.name)
class Dog(Animal):
def guard(self):
print('%s is guarding'%self.name)
def func(self)
print('Dog.func')
dog = Dog() #结果打印Dog.func
##########################################