這篇文章主要介紹了python繼承指的是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),鳳縣企業(yè)網(wǎng)站建設(shè),鳳縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,鳳縣網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,鳳縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。繼承的語法
Python子類繼承父類的語法是在定義子類時,將多個父類放在子類之后的圓括號里。語法格式如下:
class 子類名稱(父類1,父類2,...): # 類的定義部分
如果在Python中定義一個類時未指定這個類的直接父類,則這個類默認繼承object類。因此,object類是所有類的父類,要么是其直接父類,要么是其間接父類。
實現(xiàn)繼承的類被稱為子類,被繼承的類被稱為父類,也被稱為基類、超類。父類和子類的關(guān)系,是一般和特殊的關(guān)系,是抽象和具體的關(guān)系。從子類角度來看,子類擴展了父類的功能。從父類角度來看,父類派生出了子類。
class People: # 定義類的基本屬性 name = '' age = '' # 定義類的私有屬性 __weight = 0 # 定義類的構(gòu)造方法 def __init__(self, name, age, weight): self.name = name self.age = age self.__weight = weight # 定義成員方法 def say(self): print(f'{self.name}說我今年{self.age}歲了') def walk(self): print(f'{self.name}會走路了') # 定義學生繼承自People類 class Student(People): # 定義學生類特有屬性grade代表年級 grade = '' # 定義學生類的構(gòu)造方法 def __init__(self, name, age, weight, grade): # 調(diào)用父類構(gòu)造方法 People.__init__(self,name, age, weight) self.grade = grade # 覆寫父類的方法 def say(self): print(f'{self.name}說我今年{self.age}歲了,我在讀{self.grade}年級') # 定義成員方法 def study(self): print(f'{self.name}說:好好學習,天天向上!') # 實例化學生類 s1 = Student('關(guān)羽',35, 80,'三年級') # 調(diào)用say()方法 s1.say() # 因為重寫了父類方法,所以調(diào)用的是子類的say()方法 # 調(diào)用walk()方法,因為學生沒有walk()方法,但是學生繼承了People, 所以會調(diào)用父類的walk()方法 s1.walk() # 調(diào)用study()方法,因為父類沒有study, 子類定義了獨有的study方法,會直接調(diào)用 s1.study()
多繼承
當一個子類有多個直接父類時,該子類會繼承得到所有父類的公有的方法。但是,如果直接繼承的多個父類中有相同的方法時,Python會按照繼承的父類的前后順序,前面類中的方法會“屏蔽”后面父類中的同名方法。所以,對于子類和直接繼承的父類的同名方法查找有順序是:
子類 -> 直接子類(類1,類2,類3,...類n) 從左到右搜索,找到了就屏蔽后面的同名方法。
class Human: def __init__(self, name, age, gender, skin): self.name = name self.age = age self.gender = gender self.skin = skin def walk(self): print(f'{self.name}正在走路') def work(self): print(f'{self.name}工作了') class Man(Human): def __init__(self, name, age, gender, skin, hair, mouth): Human.__init__(self, name, age, gender,skin) self.hair = hair self.mouth = mouth def work(self): print(f'我是男人,我要養(yǎng)家糊口') def game(self): print(f'我喜歡打游戲') class Woman(Human): def __init__(self, name, age, gender, skin, hair, mouth): Human.__init__(self, name, age, gender, skin) self.hair = hair self.mouth = mouth def work(self): print(f'我是女人,我也要工作') def cook(self): print(f'我會做飯') class Son(Man, Woman): def __init__(self, name, age, gender, skin, hair, mouth, grade): Man.__init__(self, name, age, gender,skin,hair,mouth) self.grade = grade def study(self): print('好好學習,天天向上')
# 實例化兒子類 s1 = Son('司馬光',9,'男','白皮膚','黑頭發(fā)','大嘴','三年級') s1.study() # 調(diào)用自己獨有方法 s1.work() # 父類Man和Woman都有的方法,從左到右找,找到后后面父類中的同名方法會隱藏 s1.game() # 父類Man的獨有方法,繼承過來 s1.cook() # 父類Woman的獨有方法,繼承過來 s1.walk() # 子類,直接父類都沒有的方法,從父類的父類間接繼承,因此繼承具有傳遞性
感謝你能夠認真閱讀完這篇文章,希望小編分享python繼承指的是什么內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,詳細的解決方法等著你來學習!
網(wǎng)站欄目:python繼承指的是什么-創(chuàng)新互聯(lián)
分享鏈接:http://jinyejixie.com/article28/dcgijp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站設(shè)計公司、網(wǎng)站策劃、品牌網(wǎng)站設(shè)計、營銷型網(wǎng)站建設(shè)、面包屑導航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)