新聞中心
在面向?qū)ο蟪绦蛟O(shè)計(jì)中,除了封裝和繼承特性外,多態(tài)也是一個(gè)非常重要的特性,下面詳細(xì)了解什么是多態(tài)。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括臨澤網(wǎng)站建設(shè)、臨澤網(wǎng)站制作、臨澤網(wǎng)頁制作以及臨澤網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,臨澤網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到臨澤省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
我們都知道,Python 是弱類型語言,即在使用變量時(shí),無需為其指定具體的數(shù)據(jù)類型,這就可能出現(xiàn),同一個(gè)變量會(huì)賦值不同的類對(duì)象,例如:
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("跑")運(yùn)行結(jié)果為:
鳥在飛 狗在跑
可以看到,a 可以被先后賦值為 Bird 類和 Dog 類的對(duì)象。而在此基礎(chǔ)上,發(fā)生多態(tài)還要滿足以下 2 個(gè)前提條件:繼承:多態(tài)一定是發(fā)生在子類和父類之間;重寫:子類重寫了父類的方法。
因此,下面程序是對(duì)前面代碼的改寫:
class Animal:
def move(self,field):
print("動(dòng)物在%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("跑")運(yùn)行結(jié)果為: 動(dòng)物在叫 鳥在飛 狗在跑
此程序中,Bird 和 Dog 類都繼承自 Animal 類,且都各自重寫了父類的 move() 方法。從運(yùn)行結(jié)果可以看出,同一個(gè)變量 a 在執(zhí)行同一個(gè) move() 方法時(shí),由于 x 指向的對(duì)象不同,因此實(shí)際調(diào)用的并不是同一個(gè) move() 方法,這就是多態(tài)。更多學(xué)習(xí)內(nèi)容,請(qǐng)點(diǎn)擊Python學(xué)習(xí)網(wǎng)。
分享標(biāo)題:創(chuàng)新互聯(lián)Python教程:Python的多態(tài)是什么
鏈接地址:http://fisionsoft.com.cn/article/dhciisd.html


咨詢
建站咨詢
