python练习8_多重继承
2018-04-20 本文已影响0人
梁老施
继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。
假设要实现一根笔:红色塑料水笔 red_pen
那么更加python的多重继承思想可以设计这样的层次
图片.png从上述的层次图可以知道:红色塑料水笔 red_pen
从左向上继承了 (红色->颜色.塑料->材质.水笔->种类)->笔
代码
'''
一重继承
颜色.材质,种类继承了笔:
'''
class pen(object):
def ptin(self):
return '笔'
class color(pen):
def ptin(self):
return '笔的颜色'
class texture(pen):
def ptin(self):
return '笔的材质'
class kind(pen):
def ptin(self):
return '笔的种类'
'''
就以红色塑料水笔为例子
多重继承
'''
class red(color):
def ptin(self):
return '笔的颜色是红色'
class plastic(texture):
def ptin(self):
return '笔的材质是塑料'
class fountain_pen(kind):
def ptin(self):
return '笔的种类是水笔'
class red_fountain_pen(red,texture,fountain_pen):
def ptin(self):
return '笔的颜色是红色,材质是塑料,种类是水笔'
a_pen = color()
b_pen = plastic()
c_pen = red_fountain_pen()
print('a_pen:',a_pen.ptin())
print('b_pen:',b_pen.ptin())
print('c_pen:',c_pen.ptin())
结果
a_pen: 笔的颜色
b_pen: 笔的材质是塑料
c_pen: 笔的颜色是红色,材质是塑料,种类是水笔