日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:Python允許繼承嗎

繼承是面向?qū)ο蟮娜筇卣髦?,也是?shí)現(xiàn)代碼復(fù)用的重要手段。繼承經(jīng)常用于創(chuàng)建和現(xiàn)有類功能類似的新類,又或是新類只需要在現(xiàn)有類基礎(chǔ)上添加一些成員(屬性和方法),但又不想直接將現(xiàn)有類代碼復(fù)制給新類。

例如,有一個(gè) Shape 類,該類的 draw() 方法可以在屏幕上畫出指定的形狀,現(xiàn)在需要?jiǎng)?chuàng)建一個(gè) Rectangle 類,要求此類不但可以在屏幕上畫出指定的形狀,還可以計(jì)算出所畫形狀的面積。要?jiǎng)?chuàng)建這樣的 Rectangle 類,除了將 draw() 方法直接復(fù)制到新類中,并添加計(jì)算面積的方法,其實(shí)還有更簡(jiǎn)單的方法,即讓 Rectangle 類繼承 Shape 類,這樣當(dāng) Rectangle 類對(duì)象調(diào)用 draw() 方法時(shí),Python 解釋器會(huì)自動(dòng)去 Shape 類中調(diào)用該方法,如此,我們只需在 Rectangle 類中添加計(jì)算面積的方法即可。

Python 中,實(shí)現(xiàn)繼承的類稱為子類,被繼承的類稱為父類(也可稱為基類、超類)。子類繼承父類的語(yǔ)法是:在定義子類時(shí),將多個(gè)父類放在子類之后的圓括號(hào)里。語(yǔ)法格式如下:

class 類名(父類1, 父類2, ...):
    #類定義部分

注意,Python 的繼承是多繼承機(jī)制,即一個(gè)子類可以同時(shí)擁有多個(gè)直接父類。

從上面的語(yǔ)法格式來(lái)看,定義子類的語(yǔ)法非常簡(jiǎn)單,只需在原來(lái)的類定義后增加圓括號(hào),并在圓括號(hào)中添加多個(gè)父類,即可表明該子類繼承了這些父類。如果在定義一個(gè) Python 類時(shí),并未顯式指定這個(gè)類的直接父類,則這個(gè)類默認(rèn)繼承 object 類。

object 類是所有類的父類,要么是直接父類,要么是間接父類。

父類和子類的關(guān)系,就好像水果和蘋果的關(guān)系,蘋果是一種特殊的水果,蘋果是水果的子類,水果是蘋果的父類,因此可以說(shuō),蘋果繼承了水果。不僅如此,由于子類是一種特殊的父類,因此父類包含的范圍總比子類包含的范圍要大,所以可以認(rèn)為父類是大類,而子類是小類。

從實(shí)際意義上看,子類是對(duì)父類的擴(kuò)展,子類是一種特殊的父類。從這個(gè)意義上看,使用繼承來(lái)描述子類和父類的關(guān)系是錯(cuò)誤的,用擴(kuò)展更恰當(dāng)。因此,這樣的說(shuō)法更加準(zhǔn)確:蘋果擴(kuò)展了水果這個(gè)類。

下面程序示范了子類繼承父類的特點(diǎn)。下面是 Fruit 類的代碼:

class Fruit:
    def info(self):
        print("我是一個(gè)水果!重%g克" % self.weight)
class Food:
    def taste(self):
        print("不同食物的口感不同")
# 定義Apple類,繼承了Fruit和Food類
class Apple(Fruit, Food):
    pass
# 創(chuàng)建Apple對(duì)象
a = Apple()
a.weight = 5.6
# 調(diào)用Apple對(duì)象的info()方法
a.info()
# 調(diào)用Apple對(duì)象的taste()方法
a.taste()

運(yùn)行結(jié)果為

我是一個(gè)水果!重5.6克
不同食物的口感不同

上面程序中,定義了兩個(gè)父類:Fruit 類和 Food 類,接下來(lái)定義了一個(gè) Apple 類,該類本身是空類,但其繼承自 Food 類和 Fruit 類。因此,在主程序部分創(chuàng)建了 Apple 對(duì)象之后,可以訪問(wèn) Apple 對(duì)象的 info() 和 taste() 方法,這表明 Apple 對(duì)象也具有了 info() 和 taste() 方法,這就是繼承的作用,即子類擴(kuò)展(繼承)了父類,將可以繼承得到父類定義的方法,這樣子類就可復(fù)用父類的方法了。更多學(xué)習(xí)內(nèi)容,請(qǐng)點(diǎn)擊Python學(xué)習(xí)網(wǎng)。


網(wǎng)站題目:創(chuàng)新互聯(lián)Python教程:Python允許繼承嗎
文章URL:http://www.5511xx.com/article/copghsp.html