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

043297cdac7e3eb17d6b6fbfc7c98b8a.png

多态是面向对象的一大特性,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免费课程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux重启后root密码错误,Linux技巧| 解决Debian Root密码忘记的问题

Debian Root密码忘记开机 grub 菜单下进入单用户模式进行修改密码/修改系统文件。解决过程注:本教程适用于 Debian 7 8 91. 首先。重启一下系统。在开机 grub 内核选择菜单那里,迅速按“e”。2. 将光标移动到“linux”开头的那一行,将原来的“…

SilverLight学习笔记--Silverlight中WebService通讯

本文我们学习如何在Silverlight中使用WebService进行通讯。 新建项目Silverlight应用程序,命名为:SLWebService。在服务器端我们需要做两项目工作: 1、在Web项目中新建一个类Person,我们将在WebService中返回它的实例化对象。Person类定义如下…

导出文件_一招解决PDF文件导出图片

将PDF文件保存为高清图片是经常需要进行的保存方式之一,因为PDF文件虽然安全性高,但是相比较图片而言,还是不易进行查看的,那么如何将PDF文件导出图片呢?以前也了解过很多方法,不过最好的当然不是截图了。虽…

linux缓存文件用户权限错误,CVE-2019-11244漏洞到底该如何修复?--关于缓存文件权限设置...

2019年5月,Kubernetes社区(后面简称”社区“)修复了标号为CVE-2019-11244的安全漏洞,这个修复方案似乎并不彻底,于是有人发布Issue对此提出异议,希望提供进一步修复方案。虽然Kubernetes已经非常安全,但对于一些安全标…

高中数学40分怎么办_2019年第35届全国高中数学联赛试题及参考答案

2019年第35届全国高中数学联赛考试已结束,本文收集整理本次数学联赛的试题和参考答案,以供大家了解参考。本次数学联赛由全国高中数学联赛组委会统一命题,共分为一试和二试。一试时间为80分钟,包括8道填空题(每题8分)和3道解答题(…

一个把图片保存到SQL数据库的工具

因公司的业务需要,会把很多图片保存到数据库中.因此做了一个很简单的工具,把图片保存到SQL数据库中.1.可以连接到不同服务器上的SQL数据库,可以选择操作各个表;2.可以指定保存到数据库的图片格式(JPG or BMP);3.可以用windows图片和传真查看器预览图片.下载地址:一个把图片保存…

redis 哨兵_Redis哨兵机制的原理介绍

php中文网最新课程每日17点准时技术干货分享本篇文章给大家带来的内容是介绍Redis的哨兵机制,让大家了解哨兵机制的原理和如何实现。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。概述Redis的复制有一个缺点,当主…

BoooLee pyretoolkit -- 一个基于python re模块的在线正则表达式测试工具

为了学习python re模块正则表达式,寻找了一些正则表达式工具,除了komodo捆绑的rx toolkit外,其他的测试工具都是基于.net或其他引擎的,语法上多少有点出入。 干错自己写一个,用了2天时间,python re googl…

【大数据】NiFi 的基本使用

NiFi 的基本使用 1.NiFi 的安装与使用1.1 NiFi 的安装1.2 各目录及主要文件 2.NiFi 的页面使用2.1 主页面介绍2.2 面板介绍 3.NiFi 的工作方式3.1 基本方式3.2 选择处理器3.3 组件状态3.4 组件的配置3.4.1 SETTINGS(通用配置)3.4.2 SCHEDULING&#xff0…

linux 如何打包分区文件,Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接...

作业一:1)将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖)cat /etc/passwd /etc/group > /1.txt2)将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加)cat /etc/passwd /etc/shadow >> /2.txt3)将/1.txt、/2.…

sqlserver大数据表操作慢_架构师必看!操作日志系统搭建秘技

​在Java开发中,我们经常会遇到一个棘手的问题:记录用户的操作行为。某些操作是相对简单的,我们可以逐条记录。但是某些操作行为却很难记录,例如编辑操作。在某一次操作中,用户可能编辑了对象A的几个属性,而…

sql共享功能目录无法更改_大企业数据库服务首选!AliSQL这几大企业级功能你不可不知...

MySQL代表了开源数据库的快速发展,从2004年前后的Wiki、WordPress等轻量级Web 2.0应用起步,到2010年阿里巴巴在电商及支付场景大规模使用MySQL数据库,再到2012年开始阿里云RDS for MySQL为成千上万家客户提供可靠的关系数据库服务&#xff0c…

递归下降语法分析器的构建_一文了解函数式查询优化器Spark SQL Catalyst

大数据技术与架构点击右侧关注,大数据开发领域最强公众号!暴走大数据点击右侧关注,暴走大数据!记录一下个人对sparkSql的catalyst这个函数式的可扩展的查询优化器的理解,目录如下:0. Overview1. Catalyst工…

被远程机器长时间无响应 (错误码:[308])_自动折叠式“Rollbot”为完全不受束缚的软机器人铺平了道路...

如今,大多数软机器人依靠外部电源和控制,使它们与车外系统连接或用硬件组装。现在,来自哈佛大学约翰保尔森工程与应用科学学院(SEAS)和加州理工学院的研究人员开发了受折纸结构启发的软机器人系统,可以根据…

linux中将光标与操作系统,linux操作系统基本命令介绍(2)

whoami 查看当前用户su - 用户名 切换用户的同时再切换用户空间创建工作组(注意:需要切换到root用户)groupadd 组名删除工作组groupdel 组名修改用户所在组usermod -g 用户名 组名添加用户账号useradd 用户名-d 指定用户登录系统时的主目录,如果不使用该…

vm磁盘映射 不能启动_Oracle的启动与关闭-数据库(4)

Oracle数据的库的启动与关闭,为了节约资源消耗,把我们用到的服务开启,这样对于项目开发也有好处。1 Oracle 启动Oracle 是通过系统的服务来启动的。图1. 找到计算机管理图2. 找到服务,点击图3. Oracle相关启动项图4. 如何关闭和启…

学习总结——实现生成excel表格(方法二)

本方法主要是利用了反射&#xff0c;具体代码如下&#xff1a;Codepublic static int ExportTohtmlExcel__dksq_view(string strsql) { //贷款申请信息获得 BLLibrary.BView_jbxx_dksq viewdal new BView_jbxx_dksq(); IList<View…

linux svn cleanup 用法,SVN命令之清理命令(clean up)的功能及使用技巧

SVN的清理命令&#xff0c;我们经常会使用。这个命令的原理&#xff0c;我们还是有必要深究一下的。当SVN改变你的工作拷贝(或是.svn中的任何信息)&#xff0c;它会尽可能的小心。在进行任何修改操作时&#xff0c;SVN都会把日志记录到日志文件中&#xff0c;然后执行log文件中…

python string转int_我用Python搞资源 [ 02 ]

这不是教程&#xff0c;所以没有基础的你看不懂也很正常&#xff0c;去后面点个赞就好。一. 目标链接上一个推送处理了一个不带密码的蓝奏云分享链接&#xff0c;这回处理一下带密码的分享链接。https://lanzoux.com/b015ybdmh 密码:9n8z为了能有一个合适的链接来练手&…

c语言数字字体的格式,c语言—— 格式控制符—— 数据类型——相对应的字节数...

这是转义scanf("%lf", &r);枚举类型&#xff1a;https://www.cnblogs.com/bhlsheji/p/5204541.htmlANSI C标准基本类型的字长与范围基本类型 字长 范围char(字符型) 1字节 -128~127int(整型) 2字节 -32768~32767float(单精度浮点型) 4字节 约精确到6位数double(双…