這篇文章主要介紹了python中如何使用定制類,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

一、類的定制
說回重慶人,重慶人除了繼承中國人的屬性方法外,還可以創(chuàng)造(屬于自己)的屬性或方法,如籍貫開頭是重慶市(屬性)、會說重慶話(方法)。
上面的操作,都可以說是重慶人在繼承的基礎上又做了定制。
同樣,子類也可以在繼承的基礎上進行個性化的定制。
包括:
l 創(chuàng)建新屬性、新方法。
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()
終端顯示
你好!歡迎到中國來玩。 # 原代碼的顯示
你好!歡迎到重慶來耍。 # 定制代碼的顯示這便是定制:在復用代碼的基礎上,又能滿足個性化的需求。
類的繼承和定制,從某個角度來看,和人類的發(fā)展史很像:每一代人都站在了上一代人的肩膀上,在“繼承”了上一代的的同時,又“定制”出專屬這一代的發(fā)展。可以說:我們今天所享受到的便利和樂趣,來源于一代又一代的人的傳承和創(chuàng)新。
總結:
1. 類的繼承,節(jié)省了很多的時間,基于父類基礎的屬性方法,進行小的修正改變而滿足新的功能,這里利用類的繼承與重寫是很方便的。
2. 不要被局限住,孩子雖然長得像爸爸但是還是可以有不一樣的地方,父子之間的關系可以很好的詮釋理解子類的繼承與重寫,需要靈活應用。
3. 子類繼承父類,抄寫下來要修改的方法,然后修改方法內部的具體代碼即可。
感謝你能夠認真閱讀完這篇文章,希望小編分享python中如何使用定制類內容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯網站建設公司,,關注創(chuàng)新互聯行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯網站建設公司,,詳細的解決方法等著你來學習!
文章名稱:python中如何使用定制類-創(chuàng)新互聯
文章URL:http://chinadenli.net/article40/ddpjeo.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站改版、App設計、Google、商城網站、響應式網站、移動網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯