国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python常见问题 > Python的多态是什么

Python的多态是什么

多态

头像

silencement

2019-10-25 16:15:114639浏览 · 0收藏 · 0评论

在面向对象程序设计中,除了封装和继承特性外,多态也是一个非常重要的特性,下面详细了解什么是多态。

我们都知道,Python 是弱类型语言,即在使用变量时,无需为其指定具体的数据类型,这就可能出现,同一个变量会赋值不同的类对象,例如:

class Bird:
    def move(self, field):
        print('鸟在%s' % field)
class Dog:
    def move(self, field):
        print('狗在%s' % field)
a = Bird()
a.move("飞")
a = Dog()
a.move("跑")

运行结果为:

鸟在飞
狗在跑

可以看到,a 可以被先后赋值为 Bird 类和 Dog 类的对象。而在此基础上,发生多态还要满足以下 2 个前提条件:继承:多态一定是发生在子类和父类之间;重写:子类重写了父类的方法。

因此,下面程序是对前面代码的改写:

class Animal:
    def move(self,field):
        print("动物在%s" % field)
class Bird(Animal):
    def move(self, field):
        print('鸟在%s' % field)
class Dog(Animal):
    def move(self, field):
        print('狗在%s' % field)
a = Animal()
a.move("叫")
a = Bird()
a.move("飞")
a = Dog()
a.move("跑")
运行结果为:
动物在叫
鸟在飞
狗在跑

此程序中,Bird 和 Dog 类都继承自 Animal 类,且都各自重写了父类的 move() 方法。从运行结果可以看出,同一个变量 a 在执行同一个 move() 方法时,由于 x 指向的对象不同,因此实际调用的并不是同一个 move() 方法,这就是多态。更多学习内容,请点击Python学习网。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

一边吃奶一边做边爱会得白血病吗 | 成色18K1.220.38软件| 自己怎么玩隐私位置游戏 | 法国《口咬》电影完整版| 东北娘们国语版免费播放| 姐妹花破瓜双飞记的寓意和象征意..| 日本大片又大又好看的PPT| 一边啃奶头一边躁狂会怎么样| 京香JULIA| 簧片| 真人做爰45分钟| 精品免费国产一区二区三区四区| 高校女教师| 《女仆教育》动漫第一季| 女人尝试到更粗大的心理变化| PEDESTRIAN| 在教室伦流澡到高HGL| 电影《偷吃》在线观看| HTTPS://9.1.CRM...| 内谢中国媳妇最经典十句话| 公交车被上高湖了还能坐吗小说| 艾梅柏·希尔德| 内地禁止上映的6部大电影| 女生穿露胸开又裙穿搭大忌| 视频下载| 二女一指| 苍空电影在线观看完整| 《一次特殊的游泳课》| 中文AV人妻AV无码中文下载| 坤坤寒进桃子里在线看歌词| 揉着揉着就CAO起来了| 《请好好疼爱里面》免费观看| 香车美人| 女人尝试到更粗大的心理变化| 《入室强伦女教师在线播放| 无码欧XXXXX在线观看免费| 特殊精油4-5HD| 朝铜光| 扌暴辶鬲和扌暴辶的区别| 芒果浏览器| 三个老师轮流给学生布置作业