類的繼承可以當做對類的屬性和方式的器重,可以大大降低編碼量,接下來本文關鍵為大家介紹了有關Python中類的繼承的資料,原文中根據案例編碼推薦的十分詳盡,必須的小伙伴可以借鑒一下
1.單繼承
傳承的主要功能是促進編碼的器重。傳承導致子品有著父類的方法和特性。
立即來說個案例吧。
classanimal: defeat(self): print("吃") defdrink(self): print("喝") classdog(animal): defdark(self): print("汪汪叫") goudan=dog() goudan.eat() goudan.drink()
從上述的編碼能夠得知,在撰寫dog類情況下,我們也沒有重新寫過eat和drink2個方式。我們只需在dog后邊的括弧中再加上構造函數的名稱就可以。當子品繼承構造函數,子品就能直接應用構造函數中的方式了。在本例中,goudan可以直接用animal類里的eat和drink2個方式。
并且個神奇的事是,傳承是有著傳遞性的。子品有著父類的方法和特性,并且也具備構造函數的構造函數具有的特性。
2.傳承里的方法重寫
有時,構造函數中的辦法根本無法開展達到子品的需要。此刻我們就要方法重寫了。子品方法重寫主要有兩種狀況:
遮蓋父類的方法
對父類的方法開展拓展
一類最簡單的方法是可以直接重新寫過對應的方式。下面的表現是重新寫過了drink用這種方法。當使用goudan調用drink用這種方法方式時,結論并不是喝反而是拿嘴巴飲水。
classanimal: defeat(self): print("吃") defdrink(self): print("喝") classdog(animal): defdrink(self): print("拿嘴巴飲水") defdark(self): print("汪汪叫") goudan=dog() goudan.eat() goudan.drink()
當我們要求并不只是遮蓋構造函數中的辦法,而是構造函數方式的前提下對方式進行拓展。實際做法就是:
當需要部位應用super().構造函數方式來啟用構造函數方式的落實
編碼的許多部位針對子品的需要,撰寫子品所持有的代碼編寫
再來看個案例,這時goudan在啟用drink方式時,會輸入輸出喝和拿嘴巴飲水2個輸入輸出。
classanimal: defeat(self): print("吃") defdrink(self): print("喝") classdog(animal): defdrink(self): #1.根據子品的需要撰寫特定的編碼 print("拿嘴巴飲水")
#2.應用super傳承構造函數里的fangfa
super().drink defdark(self): print("汪汪叫") goudan=dog() goudan.eat() goudan.drink()
3.多繼承
針對Python來講,個子品可以有好幾個構造函數。多繼承的基礎語法是很簡單的。廢話不多說,立即看這個案例
classA(): deftest(self): print("test") classB(): defdemo(self): print("demo") classC(A,B): pass c=C() c.test() c.demo()
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130277.html
摘要:原鏈接中的元類是什么類也是對象在理解元類之前,需要掌握中類概念。事實上,是中用于創建所有類的元類。類本身是元類的對象在中,除了,一切皆對象,一切都是類或者元類的對象。事實上是自己的元類, 學習契機 項目中使用Elasticsearch(ES)存儲海量業務數據,基于ES向外提供的API進一層封裝,按需處理原始數據提供更精確、更多樣化的結果。在研究這一層的代碼時接觸到@six.add_me...
摘要:每次調用構造都執行,并且在構造方法前執行靜態代碼塊在類中方法外出現,并加上修飾用于給類進行初始化,隨著類加載而加載,一般用來給類進行初始化,在加載的時候就執行,并且只執行一次。的構造方法這是一條隱藏語句,用來訪問父類中的空參構造。 1.代碼塊的概述和分類(了解)(實際不用) A:代碼塊概述 在Java中,使用{}括起來的代碼被稱為代碼塊。 B:代碼塊分類 根據其位置和聲明的不同...
摘要:如果還是沒有找到,就會使用父類中的元類來創建類。元類通常用于處理比較復雜的情況。這是因為使用了元類,它會將中定義的字段轉換成數據庫中的字段。中所有數據類型都是對象,它們要么是類的實例要么是元類的實例。 原文地址:what is metaclass in Python?我的簡書地址::nummy 類即對象 在理解元類之前,需要先掌握Python中的類,Python中類的概念與SmallT...
摘要:但我并不是一個翻譯者并不會嚴格遵守每行每句的翻譯有時候我會將表述換個順序省略一些我認為無關緊要的話,以便讀者更好理解。類也是對象在理解之前,我們先要掌握中的類是什么。這個對象類自身擁有產生對象實例的能力。不過這樣做是為了保持向后兼容性。 前言 這篇博客是我在stackoverflow上看了一個提問回復后寫的,例子基本用的都是e-satis本人的例子,語言組織也基本按照翻譯來。 但我并不...
摘要:解決的辦法在處理計算密集型任務時,使用多進程協程,發揮計算機多核的威力,而處理密集型,則可以使用多線程。至此,有關知識點的面試題就已告一段落,下次更新數據庫,方面面試題。 showImg(https://segmentfault.com/img/bVbuYzy?w=3484&h=2480); 閱讀本文大約需要 5 分鐘。 15.說一說 GIL 前面有提到由于 Python 基于 C 語...
閱讀 910·2023-01-14 11:38
閱讀 877·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1981·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 818·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02