Python实现带参数与不带参数的多重继承示例
本文实例讲述了Python实现带参数与不带参数的多重继承。分享给大家供大家参考,具体如下:
1.不带参数的多重继承
#作者:hhh5460 #时间:2017.07.18 classA(object): defshow_x(self): print('A') classB(object): defshow_y(self): print('B') classC(object): defshow_z(self): print('C') classD(A,B,C): pass #测试 if__name__=='__main__': d=D() d.show_x()#A d.show_y()#B d.show_z()#C
2.带参数的多重继承
#作者:hhh5460 #时间:2017.07.18 classA(object): def__init__(self,x=0): self._x=x defshow_x(self): print(self._x) defshow_name(self): print('A') classB(object): def__init__(self,y=0): self._y=y defshow_y(self): print(self._y) defshow_name(self): print('B') classC(object): def__init__(self,z=0): self._z=z defshow_z(self): print(self._z) defshow_name(self): print('C') #注意下面两类D、E,都是继承A、B、C,且A类的优先级最高。但是三条__init__语句的顺序是相反的 classD(A,B,C): def__init__(self,x=0,y=0,z=0): C.__init__(self,z)#initC B.__init__(self,y)#initB A.__init__(self,x)#initA(A最优先) classE(A,B,C): def__init__(self,x=0,y=0,z=0): super(E,self).__init__(x)#initA(A最优先)#此句可简写成:super().__init__(x) super(A,self).__init__(y)#initB super(B,self).__init__(z)#initC #测试 if__name__=='__main__': d=D(1,2,3) d.show_x()#1 d.show_y()#2 d.show_z()#3 d.show_name()#A e=E(1,2,3) e.show_x()#1 e.show_y()#2 e.show_z()#3 e.show_name()#A
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《PythonSocket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。