python學習手冊中的python多態(tài)示例代碼
在處理多態(tài)對象時,只需要關注它的接口即可,python中并不需要顯示的編寫(像Java一樣)接口,在使用對象的使用先假定有該接口,如果實際并不包含,在運行中報錯。
class handGun():
def __init__(self):
pass
def fire(self):
print 'handGun fire'
class carbine():
def __init__(self):
pass
def fire(self):
print 'carbine fire'
import handGun
import carbine
class gunFactory():
def __init__(self,gun_type):
self.gun_type = gun_type
def produce(self):
if handGun == self.gun_type:
return handGun.handGun()
else:
return carbine.carbine()
客戶端
fa = gunFactory(handGun)
gun = fa.produce()
/*只要是槍,就認為它具有開火的功能,如果沒有開火的功能,程序運行中就報錯*/
gun.fire()
可以看到跟一般的靜態(tài)語言相比,python并沒有在語言級別來保證接口的正確性,只能依靠文檔、代碼來保證(可以在代碼中檢查接口是否存在,hasattr(gun,'fire'))
相關文章
python+requests+unittest API接口測試實例(詳解)
下面小編就為大家?guī)硪黄猵ython+requests+unittest API接口測試實例(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06解決Building?wheel?for?wrapt?(setup.py)?...?error的問題
這篇文章主要介紹了解決Building?wheel?for?wrapt?(setup.py)?...?error的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Python爬取網(wǎng)站圖片并保存的實現(xiàn)示例
這篇文章主要介紹了Python爬取網(wǎng)站圖片并保存的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02教你用Python+selenium搭建自動化測試環(huán)境
今天給大家?guī)淼氖顷P于Python的相關知識,文章圍繞著如何用Python+selenium搭建自動化測試環(huán)境展開,文中有非常詳細的介紹,需要的朋友可以參考下2021-06-06