您好,登錄后才能下訂單哦!
這篇文章主要介紹了python中如何使用定制類,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
一、類的定制
說回重慶人,重慶人除了繼承中國人的屬性方法外,還可以創造(屬于自己)的屬性或方法,如籍貫開頭是重慶市(屬性)、會說重慶話(方法)。
上面的操作,都可以說是重慶人在繼承的基礎上又做了定制。
同樣,子類也可以在繼承的基礎上進行個性化的定制。
包括:
l 創建新屬性、新方法。
l 修改繼承到的屬性或方法。
簡而言之:類的定制,不僅可以讓子類擁有新的功能,還能讓它有權修改繼承到的代碼。
二、定制,新增代碼
定制,可以新增代碼,我們可以在子類下新建屬性或方法,讓子類可以用上父類所沒有的屬性或方法。
來個例子:
class Chinese: eye = 'black' hair = 'black' def eat(self): print('吃飯,選擇用筷子。') class Chongqing_people(Chinese): # 類的繼承 place = '重慶' # 類的定制 def speak(self): # 類的定制 print('我會講重慶話。') zhenxiaofan = Chongqing_people() print(zhenxiaofan.eye) print(zhenxiaofan.hair) # 父類的屬性能用 print(zhenxiaofan.place) # 子類的定制屬性也能用 zhenxiaofan.eat() # 父類的方法能用 zhenxiaofan.speak() # 子類的定制方法也能用 終端顯示 black black 重慶 吃飯,選擇用筷子。 我會講重慶話。
一、定制,重寫代碼
重寫代碼,是在子類中,對父類代碼的修改。
來個例子:(普通話的“玩”,在重慶話里是“耍”)
# 原代碼 class Chinese: def __init__(self, place = '中國', do = '玩'): self.place = place self.do = do def greet(self): print('你好!歡迎到%s來%s。' % (self.place, self.do)) zhenxiaofan = Chinese() zhenxiaofan.greet()
# 提示:初始化方法的定制,和一般的實例方法的定制是一樣的。 # 進行繼承和定制后代碼 class Chinese: def __init__(self, place = '中國', do = '玩'): self.place = place self.do = do def greet(self): print('你好!歡迎到%s來%s。' % (self.place, self.do)) class Chongqing_people(Chinese): def __init__(self, place = '重慶', do = '耍'): Chinese.__init__(self, place, do) zhenxiaofan = Chongqing_people() zhenxiaofan.greet() 終端顯示 你好!歡迎到中國來玩。 # 原代碼的顯示 你好!歡迎到重慶來耍。 # 定制代碼的顯示
這便是定制:在復用代碼的基礎上,又能滿足個性化的需求。
類的繼承和定制,從某個角度來看,和人類的發展史很像:每一代人都站在了上一代人的肩膀上,在“繼承”了上一代的的同時,又“定制”出專屬這一代的發展。可以說:我們今天所享受到的便利和樂趣,來源于一代又一代的人的傳承和創新。
總結:
1. 類的繼承,節省了很多的時間,基于父類基礎的屬性方法,進行小的修正改變而滿足新的功能,這里利用類的繼承與重寫是很方便的。
2. 不要被局限住,孩子雖然長得像爸爸但是還是可以有不一樣的地方,父子之間的關系可以很好的詮釋理解子類的繼承與重寫,需要靈活應用。
3. 子類繼承父類,抄寫下來要修改的方法,然后修改方法內部的具體代碼即可。
感謝你能夠認真閱讀完這篇文章,希望小編分享python中如何使用定制類內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。