失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python多态_Python基础入门18节-第十六节 面向对象如何理解多态

python多态_Python基础入门18节-第十六节 面向对象如何理解多态

时间:2023-05-11 21:49:53

相关推荐

python多态_Python基础入门18节-第十六节 面向对象如何理解多态

多态是面向对象的一大特性,Python本身也是一门多态性的语言。在Python中要实现多态,还是得借助于上节提到的继承。

假设有这么一个场景,在夏季我们可以看到荷花、牡丹花、太阳花,夏天一到这些花全都开放了。这些花我们就将它理解多态,花的多种形态。下面通过代码来实现这个场景:

1.定义一个鲜花类

class Flower: def blossom(self): print('')

2.定义荷花类

class Lotus(Flower): def blossom(self): print('荷花开了!')

3.定义牡丹花类

class Peony(Flower): def blossom(self): print('牡丹花开了!')定

4.定义太阳花类

class Sunflowe(Flower): def blossom(self): print('太阳花开了!')

可以看到荷花、牡丹花、太阳花都继承自鲜花类,并且实现了各自的blossom方法。

当分别以这三个子类创建对象的后,调用相应的父类的blossom方法,则优先使用子类中重写的方法,此时产生了三种不同的输出结果

牡丹花开了!荷花开了!太阳花开了!

为了进一步说明多态的好处,现定义一个函数

def mainflower(flower): flower.blossom();

调用这个函数

mainflower(Peony())mainflower(Lotus())mainflower(Sunflowe())

可以看到传入的这个函数的参数,是牡丹花、花花、太阳花的对象,可以看看运行的结果:

牡丹花开了!荷花开了!太阳花开了!

同样是执行了blossom()方法,可以看到传入不同的子类对象,输出不同的效果,这就是多态。

更多关于Python的精彩,欢迎点击右上角“关注”红色按钮,关注小编获得更多的Python免费课程。

如果觉得《python多态_Python基础入门18节-第十六节 面向对象如何理解多态》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。