IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
Python是一種純粹的面向?qū)ο笳Z(yǔ)言。面向?qū)ο缶幊讨械乃拇筇卣鞣謩e是:抽象、封裝、繼承和多態(tài)。多態(tài)根據(jù)上下文,對(duì)象可以采用多種形式。程序?qū)⒋_定該對(duì)象每次執(zhí)行所需的含義或用法,從而減少了重復(fù)代碼。
我國(guó)有句俗語(yǔ):“龍生九子,各有不同”。這就是多態(tài)。多態(tài)是同一類事物具有的多種形態(tài)。多態(tài)是面向?qū)ο缶幊痰闹匾攸c(diǎn)之一。
Python本身就是一種多態(tài)語(yǔ)言:
上述程序中,參數(shù)a和b可以接收不同的數(shù)據(jù)類型。當(dāng)a和b同時(shí)是數(shù)字類型時(shí),add()函數(shù)將進(jìn)行加法運(yùn)算;當(dāng)a和b同時(shí)是字符串類型或列表類型時(shí),add()函數(shù)將進(jìn)行拼接運(yùn)算。
下面用一個(gè)示例來(lái)介紹計(jì)算機(jī)編程語(yǔ)言中的多態(tài)。
上述程序中,定義了四個(gè)類,分別是Animal類、People類、Dog類和Pig類,其中People類、Dog類和Pig類都繼承了Animal類。這就體現(xiàn)了同一類事物的多種形態(tài)。這四個(gè)類都有一個(gè)talk()方法。試著調(diào)用talk()方法,代碼如下:
上述程序中,調(diào)用Func()函數(shù)為同一個(gè)操作,但調(diào)用的參數(shù)是不同的,即調(diào)用了不同的實(shí)例作為參數(shù)。由運(yùn)行結(jié)果可知,有不同的類創(chuàng)建不同的實(shí)例,以不同的實(shí)例作為參數(shù)時(shí),調(diào)用talk()得到的打印結(jié)果是不同的,這是因?yàn)槊總(gè)實(shí)例具有不同的實(shí)現(xiàn)方式,這就是多態(tài)性的體現(xiàn)。
多態(tài)性是同一個(gè)操作因作用實(shí)例不同而表現(xiàn)出不同實(shí)現(xiàn)方式的特性。多態(tài)性增加了程序的靈活性,以不變應(yīng)萬(wàn)變,無(wú)論實(shí)例千變?nèi)f化,使用者都是以同一種形式去調(diào)用;多態(tài)性還增加了程序可擴(kuò)展性,通過(guò)繼承創(chuàng)建新的類,子類可以使用父類的方法,也可以使用自己重寫的方法。
>>本文地址:http://uj2y2uok.com/zhuanye/2020/48610.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?