最新要闻
- 当前观点:红绿灯倒计时覆盖量破百万 百度地图:全国3000县市只差1个没有
- 世界新消息丨“流氓软件”拜拜!手机预装App终于要能卸载了:新规明天执行
- 长城大气!魏牌官宣:国补取消后插混车型不涨价
- 马斯克疯狂省钱:断供厕纸、辞退保洁、退租办公室
- 世界观天下!上调幅度2000到6000元!比亚迪宣布调整相关车型官方指导价
- 【环球热闻】今晚20点播出!央视跨年晚会阵容官宣:短道速滑运动员武大靖加盟
- 口碑崩盘豆瓣评分跌至5.4!《三体》动画第五集上线你还追吗?
- 全球快看:满满维生素!可口可乐innocent果汁大促:三瓶券后不到15元
- 天天热门:长绒棉亲肤透气 浪莎男士中筒袜子5双21.55元
- 每日讯息!2023元旦档预售总票房破1亿元:《阿凡达2:水之道》第一
- 《王者荣耀》铠荣耀典藏皮肤今晚上线!三形态特效帅炸
- 头条:游戏火爆全球 海外营收过半!米哈游获评全国文化企业30强
- 环球速读:史上财富损失第一人:马斯克财产缩水破人类记录
- 即时:官旗抄底:新疆大红乌苏啤酒500ml*12罐整箱59.9元
- 环球即时:沙特球队官宣C罗加盟 本人回应:是时候来亚洲分享经验了
- 一加11R外观泄露:双曲面屏、后置三摄
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
当前热讯:Python类的多态和多态性
一、多态
多态指的是一类事物有多种形态,一个类有很多个子类,因而多态的概念是基于继承的
- 序列数据类型有多种形态:字符串,列表,元组
- 动物有多种形态:人,狗,猪
1.动物的多种形态
# 动物有多种形态:人类、猪、狗class Animal: def run(self): # 子类约定俗称的必须实现这个方法 raise AttributeError("子类必须实现这个方法")class People(Animal): def run(self): print("人正在走")class Pig(Animal): def run(self): print("pig is walking")class Dog(Animal): def run(self): print("dog is running")peo1 = People()pig1 = Pig()d1 = Dog()peo1.run()pig1.run()d1.run()
输出
(资料图片)
人正在走pig is walkingdog is running
import abcclass Animal(metaclass=abc.ABCMeta): # 同一类事物:动物 @abc.abstractmethod # 上述代码子类是约定俗称的实现这个方法,加上@abc.abstractmethod装饰器后严格控制子类必须实现这个方法 def talk(self): raise AttributeError("子类必须实现这个方法")class People(Animal): # 动物的形态之一:人 def talk(self): print("say hello")class Dog(Animal): # 动物的形态之二:狗 def talk(self): print("say wangwang")class Pig(Animal): # 动物的形态之三:猪 def talk(self): print("say aoao")peo2 = People()pig2 = Pig()d2 = Dog()peo2.talk()pig2.talk()d2.talk()
输出
say hellosay aoaosay wangwang
2.文件的多种形态
#Python学习交流QQ群:489111204# 文件有多种形态:文件、文本文件、可执行文件import abcclass File(metaclass=abc.ABCMeta): # 同一类事物:文件 @abc.abstractmethod def click(self): passclass Text(File): # 文件的形态之一:文本文件 def click(self): print("open file")class ExeFile(File): # 文件的形态之二:可执行文件 def click(self): print("execute file")text = Text()exe_file = ExeFile()text.click()exe_file.click()
输出
open fileexecute file
二、多态性
多态与多态性是两种概念
多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法)。也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。
1.动物形态多态性的使用
多态性:一种调用方式,不同的执行效果(多态性)
def func(obj): obj.run()func(peo1)func(pig1)func(d1)
输出
人正在走pig is walkingdog is running
多态性依赖于:继承多态性:定义统一的接口
#Python学习交流QQ群:489111204 def func(obj): # obj这个参数没有类型限制,可以传入不同类型的值 obj.talk() # 调用的逻辑都一样,执行的结果却不一样func(peo2)func(pig2)func(d2)
输出
say hellosay aoaosay wangwang
2. 文件形态多态性的使用
def func(obj): obj.click()func(text)func(exe_file)
输出
open fileexecute file
3. 序列数据类型多态性的使用
def func(obj): print(len(obj))func("hello")func([1, 2, 3])func((1, 2, 3))
输出
533
综上可以说,多态性是一个接口(函数func)的多种实现(如obj.run(),obj.talk(),obj.click(),len(obj))
三、多态性的好处
其实大家从上面多态性的例子可以看出,我们并没有增加新的知识,也就是说Python本身就是支持多态性的,这么做的好处是什么呢?
- 增加了程序的灵活性:以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal)
- 增加了程序额可扩展性:通过继承Animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用
class Cat(Animal): # 属于动物的另外一种形态:猫 def talk(self): print("say miao")def func(animal): # 对于使用者来说,自己的代码根本无需改动 animal.talk()cat1 = Cat() # 实例出一只猫func(cat1) # 甚至连调用方式也无需改变,就能调用猫的talk功能
say miao
上述代码我们新增了一个形态Cat,由Cat类产生的实例cat1,使用者可以在完全不需要修改自己代码的情况下。使用和人、狗、猪一样的方式调用cat1的talk方法,即func(cat1)
四、小结
多态:同一种事物的多种形态,动物分为人类,猪类(在定义角度)多态性:一种调用方式,不同的执行效果(多态性)
当前热讯:Python类的多态和多态性
当前观点:红绿灯倒计时覆盖量破百万 百度地图:全国3000县市只差1个没有
世界新消息丨“流氓软件”拜拜!手机预装App终于要能卸载了:新规明天执行
长城大气!魏牌官宣:国补取消后插混车型不涨价
马斯克疯狂省钱:断供厕纸、辞退保洁、退租办公室
Codeforces Good Bye 2022 CF 1770 A~E 题解
世界观天下!上调幅度2000到6000元!比亚迪宣布调整相关车型官方指导价
【环球热闻】今晚20点播出!央视跨年晚会阵容官宣:短道速滑运动员武大靖加盟
每日简讯:分布式排队叫号系统源码出售
口碑崩盘豆瓣评分跌至5.4!《三体》动画第五集上线你还追吗?
WPF 实现通知属性的N种方式
P3Depth: Monocular Depth Estimation with a Piecewise Planarity Prior
全球滚动:从USB存储设备启动树莓派
全球快看:满满维生素!可口可乐innocent果汁大促:三瓶券后不到15元
天天热门:长绒棉亲肤透气 浪莎男士中筒袜子5双21.55元
每日讯息!2023元旦档预售总票房破1亿元:《阿凡达2:水之道》第一
《王者荣耀》铠荣耀典藏皮肤今晚上线!三形态特效帅炸
头条:游戏火爆全球 海外营收过半!米哈游获评全国文化企业30强
快播:Unreal学习笔记1-打印输出
环球速读:史上财富损失第一人:马斯克财产缩水破人类记录
即时:官旗抄底:新疆大红乌苏啤酒500ml*12罐整箱59.9元
环球即时:沙特球队官宣C罗加盟 本人回应:是时候来亚洲分享经验了
一加11R外观泄露:双曲面屏、后置三摄
MySQL报错解决
当前观点:联想YOGA新款笔记本曝光:双屏显示、支持360度翻转
天天快资讯:0糖、0脂肪!Nevercoffee咖啡:10盒到手16.41元
天天快资讯丨兴泉铁路全线开通:8个老区终于坐上火车
【世界报资讯】电脑上没有“锤子大爆炸”:自己做一个!
环球快播:辽宁吉林多地现不明飞行物:外星飞船?还是韩国制造?
天天速讯:女子因上厕所未在工位被领导打:网友集体愤怒
天天日报丨知情人士:李子柒短期内或不考虑复出 业内看好重回顶流
速递!奥迪最帅量产电车!RS e-tron GT上市:146.88万秒杀保时捷
网友在苹果官方旗舰店买iPhone 13:取消订单却不给退款
快讯:三大件不再是重点 调查显示:84.5%消费者更看重汽车智能化
环球微动态丨ColorOS 13 2023年Q1适配计划出炉:10款机型喜提正式版
环球新动态:2022年总结与反思
全球热文:显卡清库存告一段落 价格已经到底:AMD、NVIDIA不会再便宜
【全球新要闻】RTX 4090游戏本狂野!一脚踢翻桌面RTX 3090
有你吗?我国千兆宽带用户达到8707万户 同比增长157%
全球最新:联想SmartPaper墨水平板曝光:10.3寸大屏、23ms低延迟
天天即时:国产游戏《大多数》称《九霄大陆》是盗版 把自己破解了
【天天时快讯】HDU 6801 Game on a Circle 题解 (推式子,多项式)
LeetCode-400. 第N位数字
全球观热点:红黑树起源以及插入解析
世界简讯:“最牛00后”:成都122岁长寿老人朱郑氏去世 家人100多名
全球快看点丨女子圣诞节送男友PS5:送礼前先把自己感动哭了
【全球速看料】比亚迪发布公告:终止拆分半导体业务上市
世界热门:新能源车国补即将取消 零跑表态:零跑C01不涨价
【全球独家】复习Stream流,函数式接口,方法引用
【天天新视野】最贵国产电动车高合HiPHi X宣发闹乌龙:零百加速45分钟
全球信息:杀死110公斤牛 北半球最凶猛的鸟金雕复仇人类:缝了40针
热资讯!软嫩多汁 拒绝合成肉:大希地整切牛排55.8元/斤好价
新能源车二手车:又红火起来了
全球热消息:腾讯今年股价曾腰斩 累计回购超9000万股 耗资超337亿港元
环球快消息!特色功能(锐捷智慧教室)
RX 7900 XTX温度烧到110度 AMD终于回应了:请联系客服支持
全球热议:盗版电影画质越发高得可怕 英国正版组织怒出手:嫌疑人落网
苹果允许安装第三方商店 但用户愿意吗?
【独家】RTX 4070 Ti官方偷跑!跑分都亮出来了
东方甄选直播一周年:股价翻800% 腾讯亏惨了
Android Emulator Container 配置
京东自营次日达 抗原检测试剂盒4.9元/份:15分钟出值
每日焦点!百度“萝卜快跑”首批获准在京开展全无人自动驾驶测试
当前观察:洗鞋机竟成了香饽饽!市场一片繁荣
2000年来首次发生!苹果2022年第四季度未发布任何新Mac产品
当前视讯!扬州高邮湖大桥几十辆车相撞 事故原因又是团雾
当前滚动:亲测有效! Studio One 6 V6.0.1 音乐编曲工具 含win/mac版
stm32读写sd卡代码解析和调试总结
前沿热点:Django路由层
全球微头条丨湖南汽车商会:汽车平台大涨价 4S店给汽车之家引流费一年最低23万
焦点热门:与热爱同行 18年魅族用户已是曹操出行CEO:希望有天把Flyme放进车机
环球关注:比亚迪仰望汽车来了!搭载最具颠覆性的尖端技术
天天快讯:太烂没人看?《阿凡达2》全球票房破11亿美元:中国内地贡献排第二
全球热头条丨零百6.9秒、纯电续航100km:坦克500 PHEV亮相广州车展
即时焦点:org.quartz.JobPersistenceException: Couldn't retrieve trigger: invalid stre
焦点热讯:MyBatis分页实现
世界百事通!现代细胞计数分析平台丨OMIQ简介
全球新动态:世界第一国际象棋手3分钟比赛迟到2分半 仅用22秒取胜
今日聚焦!奖金收入143万美元!Faker断层领跑韩国职业选手总奖金榜
跨年冷空气来了!跨年夜最冷大城市排行榜出炉:哈尔滨嗷嗷冷
世界快报:微信支付分大升级:订单信息一目了然 再不必担心扣费不明
全球百事通!卡梅隆R级《蜘蛛侠》电影图曝光:原定小李子主演
世界看热讯:亲测有效! Wondershare UniConverterV14.1.7 Wondershare PDFelement Professiona
今日快讯:基于局部直方图相关算法的近似优化和提速。
焦点速讯:Java集合快速失败和安全失败机制
全球新消息丨Python教程:如何创建多线程?
Django与数据库连接
每日观察!三星手机工业设计要焕然一新了!前奔驰中国首席大牛加盟:全权操刀
世界短讯!全新红旗H6亮相2022广州国际车展:压垮合资中型轿车又一力作
B站跨年晚会节目单官宣:邓紫棋首唱《三体》片尾曲《面壁者》
焦点热讯:Kafka的终极UI工具丨Offset Explorer功能简介
提前加满 2023开年油价第一涨:预计每升多花0.21元
员工超54万!京东为一线员工薪酬福利开支超330亿元
搭配紫光展锐国产芯:微软新Surface RT预计明年夏季推出
MyBatis-ResultMap
环球视讯!魅友人物纪录片《我有一个朋友》首映 80后CEO龚昕:我的青春是魅族
世界实时:搭乘猎鹰9号火箭 韩国首个月球探测器成功入轨:位列世界第七
【新视野】《王者荣耀》2023年首个新版本定了:新英雄莱西全员免费得
焦点观察:3.0T V6发动机卖成白菜价 长城皮卡山海炮上市:22.88万起
AIRIOT答疑第3期|如何使用物联网平台的可视化组态引擎?