日韩av无码中文字幕,国产午夜亚洲精品国产成人小说,成人影院午夜男女爽爽爽,欧美 亚洲 中文 国产 综合

首頁 熱點 要聞 國內(nèi) 產(chǎn)業(yè) 財經(jīng) 滾動 理財 股票

看點:【python基礎(chǔ)】類-繼承

2023-06-23 01:54:54 來源 : 博客園

編寫類時,并非總是要從空白開始。如果要編寫的類時另一個現(xiàn)成類的特殊版本,可使用繼承。一個類繼承另一個類時,它將自動獲得另一個類的所有屬性和方法

原有的類稱為父類,而新類被稱為子類。子類繼承了其父類的所有屬性和方法,同時還可以定義自己的屬性和方法。

繼承語法格式:

(資料圖片)

class 子類名(父類名):

1.子類的__init__方法

創(chuàng)建子類的實例時,Python首先需要完成的任務(wù)是給父類的所有屬性賦值。為此,子類的__init__方法在初始化子類屬性時,需要先將父類的所有屬性賦值

子類中給父類屬性賦值的語法格式:

super().__init__(實參變量1,實參變量2,,,,,實參變量n)

比如動物貓Cat這個子類,繼承動物Animal這個父類,編寫程序如下所示:

注意:

1.創(chuàng)建子類時,父類必須包含在當(dāng)前文件中,且位于子類前面,可以通過import導(dǎo)入到當(dāng)前文件。

2.super是一個特殊的函數(shù),幫助Python將父類和子類關(guān)聯(lián)起來。這行代碼讓Python調(diào)用Cat的父類的__init__方法,讓Cat類的實例cat包含父類的所有屬性。

我們通過子類將name傳給父類,然后通過調(diào)用父類的eat方法,實現(xiàn)了子類實例對父類方法的調(diào)用,驗證了此時子類繼承了父類的所有屬性和方法

2.給子類定義屬性和方法

子類繼承父類后,可添加區(qū)分子類和父類的屬性和方法。

比如我們給Cat類添加一個貓?zhí)赜械膶傩宰嚼鲜蟮臄?shù)量num,給Animal類添加一個動物共有的屬性年齡age,編寫程序如下所示:

對于Cat類的特殊化程度沒有任何限制??梢愿鶕?jù)所需的準(zhǔn)確程度添加任意數(shù)量的屬性和方法。如果一個屬性或者方法是任何動物都有的,而不是動物貓?zhí)赜械模覀兙屯鶆游顰nimal類中添加,是動物貓?zhí)赜械奈覀兙屯圕at類中添加。這樣動物Animal類有動物的通用屬性和方法,貓Cat類有特有的屬性和方法,我們只需根據(jù)需要調(diào)用即可

注意:

子類可以調(diào)用父類的屬性和方法,但是父類不可調(diào)用子類的屬性和方法

會提示父類沒有子類的方法等錯誤。

3.重寫父類的方法

對于父類的方法,只要它不符合子類的方法邏輯,都可對其進(jìn)行重寫。為此,可在子類定義一個這樣的方法,即它與要重寫的父類方法同名。這樣Python在用子類調(diào)用這個方法的時候,就不會去調(diào)用父類的同名方法,而是去調(diào)用子類的同名方法。

編寫程序如下所示:

我們看到我們在子類中重新編寫了__str__方法,當(dāng)子類調(diào)用該方法時,是調(diào)用子類中的該方法,而不是父類中的該方法。

關(guān)鍵詞:
相關(guān)文章

最近更新
精彩推送
那些與疾病抗?fàn)幣实堑母叻? 2023-06-23 02:13:20
日本宣布禽流感疫情結(jié)束 雞蛋價格或?qū)⒒芈? 2023-06-23 02:09:20
再見清晨 全球快播報 2023-06-23 02:03:48