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节-第十六节 面向对象如何理解多态相关推荐
- Scala入门到精通——第二十六节 Scala并发编程基础
本节主要内容 Scala并发编程简介 Scala Actor并发编程模型 react模型 Actor的几种状态 Actor深入使用解析 1. Scala并发编程简介 2003 年,Herb Sutte ...
- Scala入门到精通——第十六节 泛型与注解
本节主要内容 泛型(Generic Type)简介 注解(Annotation)简介 注解常用场景 1. 泛型(Generic Type)简介 泛型用于指定方法或类可以接受任意类型参数,参数在实际使用 ...
- 跟着王进老师学开发Python篇:基础入门案例讲解-王进-专题视频课程
跟着王进老师学开发Python篇:基础入门案例讲解-166人已学习 课程介绍 共计45个项目案例+项目源码,跟着王进老师尽情玩转Python解释器! 本课程涉及Python的基础语法, ...
- python快乐编程—基础入门-从萌新到大神必读书籍 《Python快乐编程基础入门》...
2019年,全球信息化进程持续加快,IT行业繁荣发展.作为新时代IT人,不仅需要强大的理论知识,更需要过硬的技术.Python作为最受欢迎的编程语言之一,作为人工智能时代的首选语言,因其受众多.用途广 ...
- 视频教程-跟着王进老师学开发Python篇:基础入门案例讲解-Python
跟着王进老师学开发Python篇:基础入门案例讲解 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ¥ ...
- python就业方向有哪些-Python如何零基础入门?就业方向有哪些?
Python名列 IEEE2017 编程语言排行榜首位,语言环境轻松,入门体验极佳,堪称最适合初学者的编程语言; Python也是人工智能.大数据开发的基础语言,现已火爆全球,成为IT互联网就业风口, ...
- python中5种简单的数据类型,Python小白零基础入门 —— 变量及简单的数据类型
微信公众号:「Python读财」 若有问题或建议,请公众号留言 最近想着出一个Python小白零基础入门系列的文章,但愿能对入门的小伙伴有所帮助,内容会囊括简单的数据类型.列表.字典.循环以及函数的定 ...
- 视频教程-Python开发零基础入门-计算机基础-Python
Python开发零基础入门-计算机基础 马哥教育Python金牌讲师,国内知名Python技术专家,在Python全栈.Python运维开发.Python数据挖掘.爬虫.人工智能等领域有深入研究,有1 ...
- Python学习1——python简介和基础入门
转载 原文Python学习之路[第一篇]-Python简介和基础入门:https://www.cnblogs.com/linupython/p/5713324.html 1.python3.7.2下 ...
最新文章
- (chap6 Http首部) 报文首部
- python中的os abort_Python::OS 模块 -- 进程管理
- unity 烘焙参数 设置_Unity通用渲染管线(URP)系列(九)——点光源和聚光灯
- mysql_unbuffered_query的_用mysql_unbuffered_query函数取大数据
- Linux内核变迁杂谈——感知市场的力量
- 用 Graphviz+pvtrace 可视化函数调用
- 读懂React原理之调和与Fiber
- Java基础第三天复习
- python一行输入n个数据
- APS供应链计划管理有何功能?其目的和意义又是什么?
- Recon-ng的简单使用(recon-ng v5.1.1)
- 四轴码垛机器人DH模型运动学
- 如是古籍数字化工具平台介绍---自动秒级识别古籍OCR
- html网页的说课稿,网页设计之滚动字幕说课稿
- hash路由实现微信登陆后的重定向
- 如何制作Google logo?
- dra7xx DDR test
- Excel制作小学数学加减法计算题库,实现孩子每日计算训练不重样
- 何为SourceMap?
- 银河英雄传说————牛客
热门文章
- 深入理解脚本化CSS系列第二篇——查询计算样式
- js 分页插件(jQuery)
- 第一次作业之成员介绍
- 51nod 1907(多项式乘法启发式合并)
- loss function
- 【转载】关于 Google Chrome 中的全屏模式和 APP 模式
- Android实例-拍摄和分享照片、分享文本(XE8+小米2)
- 【Web后端笔记】SQL Server与java数据类型对应
- IOS NSArray,NSDictionary
- eclipse mysql生成实体类_Eclipse实现数据库反向生成实体类(pojo)-------(插件安装和实现步骤的说明)...