七月婷婷在线视频综合-奇米77-奇米狠狠干-奇米久草-国内精品久久影视免费-国内精品免费视频自在线

您現在所在的位置:首頁 >學習資源 > Python全棧+人工智能入門教材 > Python基礎入門教程26:企業(yè)級開發(fā)基礎7 面向對象特征(多態(tài))

Python基礎入門教程26:企業(yè)級開發(fā)基礎7 面向對象特征(多態(tài))

來源:奇酷教育 發(fā)表于:

面向對象程序設計最主要的有三個特征:封裝、繼承、多態(tài)本節(jié)內容主要講解面向對象的第一個特征:多態(tài)1 多態(tài)的意義多態(tài)是讓我們的程序在運

面向對象程序設計最主要的有三個特征:封裝、繼承、多態(tài)
 
本節(jié)內容主要講解面向對象的第一個特征:多態(tài)
 
1 多態(tài)的意義
 
多態(tài)是讓我們的程序在運行的過程中,在不同的狀態(tài)下進行動態(tài)的切換,實現復雜的功能為目的的一種程序開發(fā)手段
 
在之前的章節(jié)中,實現了類型的繼承關系之后,其實我們已經見過多態(tài)的一種操作了:方法重寫實現的運行時多態(tài),對象在執(zhí)行具體的方法時,會直接執(zhí)行父類中繼承的對應的方法,如果該方法在子類中重寫了,就會執(zhí)行子類中重寫過的方法,實現的是一種運行過程中的多態(tài)處理,代碼如下:

2. 多態(tài)的擴展
 
我們定義一個這樣的醫(yī)療系統(tǒng),所有的男人、女人、小孩等等都可以去醫(yī)院看病,然后康復的一個過程。


上面的代碼中,我們已經可以看到,只要是從Person類型繼承過來的類型所創(chuàng)建的對象,都可以在醫(yī)院Hospital對象的care()中進行治療。已經是一種多態(tài)。
 
同時如果功能需要擴展,需要多出來一個人物類型:小孩,小孩也會生病,也需要治療~此時對于功能的擴展非常簡潔,值需要添加如下代碼就可以搞定:

2. 多態(tài)的完善
 
上面的代碼中,我們其實是存在一定的缺陷的
上述代碼設計的初衷是醫(yī)院對象可以治病救人,也就是Hosiptal對象的care()函數可以治療Person派生出來的對象。
但是從代碼邏輯中,我們可以看到只要傳遞給care()函數的參數對象中包含health()函數就可以進行處理,而并非必須是Person對象。
 
此時需要在函數中進行判斷處理,如果是Person對象就進行care()治療的處理,如果不是Person對象,就提示不做治療操作。
 
對象和類型的判斷可以通過isinstance(obj, Type)進行類型的判斷,如:

上述代碼中,我們可以觀察到通過isinstance()函數進行變量所屬數據類型的判斷了,同時在繼承關系中,有一個情理之中的判斷結果:man是Man類型的,同時也是Person類型的,因為Man類型是從Person類型繼承過來的。
 
所以可以對之前的Hospital的care()函數進行如下改造:


>>>更多VR/AR入門教程:VR入門
主站蜘蛛池模板: 国产丝袜视频在线观看 | 日韩在线视频在线 | 天天澡天天摸天天添视频 | 成人男女网免费 | 青青草国产免费一区二区 | 一二三四视频社区5在线高清视频 | 91精品啪在线观看国产线免费 | 欧美最新一区二区三区四区 | 狠狠色狠狠色综合系列 | 精品一区二区三区影院在线午夜 | 色图欧美| 国产在线观看成人免费视频 | 国产精品欧美亚洲韩国日本 | 免费看的黄色录像 | dy888午夜国产午夜精品 | 玖玖国产| 999视频在线播放777 | 精品在线一区 | 日本涩涩网站 | 国产特黄视频 | 又黄又爽的成人免费视频播放 | 亚洲制服丝袜在线观看 | 欧美手机在线视频 | 97人洗澡人人澡人人爽人人 | 最新欧美精品一区二区三区不卡 | 精品在线视频播放 | 国产日本在线视频 | 人成午夜性刺激免费 | 在线观看免费播放网址成人 | 成人啪精品视频免费网站 | 久久成人国产精品青青 | 亚洲国产一区二区三区综合片 | 成人片在线播放 | 六月丁香激情 | 久久久网| 成年人免费视频观看 | 色吧久久| 精品国产亚洲一区二区在线3d | 日韩美在线 | 乡村爱情第16部免费观看 | 青草视频网 |