#定义父类 ''' class Animals: def __init__(self,name,age): self.name=name self.age=age def move(self): print('移动方式%s'%self.name) def speak(self): print('语言') class Dog(Animals): pass d1=Dog('sd',19) d1.move()#直接调用父类里面的方法 #子类也可以创建属于自己的方法以及属性 有时候会因为子类定义新的方法导致调用父类方法错误 #所以我们需要使用super调用父类元素 #也就是说,先使用super函数把父类方法调出来在他之后,在写子类有关的语句 ''' ''' # 使用super调用父类方法 class Animals: def __init__(self,name,age): self.name=name self.age=age def move(self): print('移动方式%s'%self.name) def speak(self): print('语言') class Dog(Animals): def __init__(self,hobby): #调用父类方法的时候应该穿的参数都传进去 super(Dog,self).__init__('dsd',18)#这个的含义就是把Dog类地self对象传到父类 然后调用父类的方法 self.hobby=hobby def x(self): print('{0}'.format(self.hobby)) d1=Dog('ds')#子类穿参数只要传进去自己想要添加的就好,并且也不用去在里面在输入父类的参数 d1.move() d1.x() d1.speak() ''' #多继承 就是一个父类继承多个父类元素 根据括号内的顺序 从左到右开始 #注意子类不能调用父类的私有属性 class Horse: def __init__(self,name): self.name=name def move(self): print('跑') def mz(self): print(self.name) class Pig: def __init__(self,name): self.name=name def move(self): print('爬') def hobby(self): print('eat{0}'.format(self.name)) class Mouse(Horse,Pig): def __init__(self,name,age): super(Mouse,self).__init__(name) self.age=age m1=Mouse('朵儿',7) m1.move() m1.hobby()