多态是面向对象的一大特性,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节-第十六节 面向对象如何理解多态相关推荐

  1. Scala入门到精通——第二十六节 Scala并发编程基础

    本节主要内容 Scala并发编程简介 Scala Actor并发编程模型 react模型 Actor的几种状态 Actor深入使用解析 1. Scala并发编程简介 2003 年,Herb Sutte ...

  2. Scala入门到精通——第十六节 泛型与注解

    本节主要内容 泛型(Generic Type)简介 注解(Annotation)简介 注解常用场景 1. 泛型(Generic Type)简介 泛型用于指定方法或类可以接受任意类型参数,参数在实际使用 ...

  3. 跟着王进老师学开发Python篇:基础入门案例讲解-王进-专题视频课程

    跟着王进老师学开发Python篇:基础入门案例讲解-166人已学习 课程介绍         共计45个项目案例+项目源码,跟着王进老师尽情玩转Python解释器! 本课程涉及Python的基础语法, ...

  4. python快乐编程—基础入门-从萌新到大神必读书籍 《Python快乐编程基础入门》...

    2019年,全球信息化进程持续加快,IT行业繁荣发展.作为新时代IT人,不仅需要强大的理论知识,更需要过硬的技术.Python作为最受欢迎的编程语言之一,作为人工智能时代的首选语言,因其受众多.用途广 ...

  5. 视频教程-跟着王进老师学开发Python篇:基础入门案例讲解-Python

    跟着王进老师学开发Python篇:基础入门案例讲解 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ¥ ...

  6. python就业方向有哪些-Python如何零基础入门?就业方向有哪些?

    Python名列 IEEE2017 编程语言排行榜首位,语言环境轻松,入门体验极佳,堪称最适合初学者的编程语言; Python也是人工智能.大数据开发的基础语言,现已火爆全球,成为IT互联网就业风口, ...

  7. python中5种简单的数据类型,Python小白零基础入门 —— 变量及简单的数据类型

    微信公众号:「Python读财」 若有问题或建议,请公众号留言 最近想着出一个Python小白零基础入门系列的文章,但愿能对入门的小伙伴有所帮助,内容会囊括简单的数据类型.列表.字典.循环以及函数的定 ...

  8. 视频教程-Python开发零基础入门-计算机基础-Python

    Python开发零基础入门-计算机基础 马哥教育Python金牌讲师,国内知名Python技术专家,在Python全栈.Python运维开发.Python数据挖掘.爬虫.人工智能等领域有深入研究,有1 ...

  9. Python学习1——python简介和基础入门

    转载  原文Python学习之路[第一篇]-Python简介和基础入门:https://www.cnblogs.com/linupython/p/5713324.html 1.python3.7.2下 ...

最新文章

  1. (chap6 Http首部) 报文首部
  2. python中的os abort_Python::OS 模块 -- 进程管理
  3. unity 烘焙参数 设置_Unity通用渲染管线(URP)系列(九)——点光源和聚光灯
  4. mysql_unbuffered_query的_用mysql_unbuffered_query函数取大数据
  5. Linux内核变迁杂谈——感知市场的力量
  6. 用 Graphviz+pvtrace 可视化函数调用
  7. 读懂React原理之调和与Fiber
  8. Java基础第三天复习
  9. python一行输入n个数据
  10. APS供应链计划管理有何功能?其目的和意义又是什么?
  11. Recon-ng的简单使用(recon-ng v5.1.1)
  12. 四轴码垛机器人DH模型运动学
  13. 如是古籍数字化工具平台介绍---自动秒级识别古籍OCR
  14. html网页的说课稿,网页设计之滚动字幕说课稿
  15. hash路由实现微信登陆后的重定向
  16. 如何制作Google logo?
  17. dra7xx DDR test
  18. Excel制作小学数学加减法计算题库,实现孩子每日计算训练不重样
  19. 何为SourceMap?
  20. 银河英雄传说————牛客

热门文章

  1. 深入理解脚本化CSS系列第二篇——查询计算样式
  2. js 分页插件(jQuery)
  3. 第一次作业之成员介绍
  4. 51nod 1907(多项式乘法启发式合并)
  5. loss function
  6. 【转载】关于 Google Chrome 中的全屏模式和 APP 模式
  7. Android实例-拍摄和分享照片、分享文本(XE8+小米2)
  8. 【Web后端笔记】SQL Server与java数据类型对应
  9. IOS NSArray,NSDictionary
  10. eclipse mysql生成实体类_Eclipse实现数据库反向生成实体类(pojo)-------(插件安装和实现步骤的说明)...