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: 笔的颜色是红色,材质是塑料,种类是水笔


上一篇下一篇

猜你喜欢

热点阅读