欲戴皇冠,必承其重 Python物件導向三

2021-10-06 16:34:25 字數 1516 閱讀 6960

• 繼承是物件導向三大特性之一

• 通過繼承我們可以使乙個類獲取到其他類中的屬性和方法

• 在定義類時,可以在類名後面的括號中指定當前類的父類(超類、基類)

• 繼承提高了類的復用性。讓類與類之間產生了關係。有了這個關係,才有了多型的特性

• 如果在子類中有和父類同名的方法,則通過子類例項去呼叫方法時,會呼叫子類的方法而不是父類的方法,這個特點我們稱之為方法的重寫(覆蓋)

• 當我們呼叫乙個物件的方法時:

• 會優先去當前物件中尋找是否具有該方法,如果有則直接呼叫

• 如果沒有,則去當前物件的父類中尋找,如果父類中有則直接呼叫父類中的方法

• 如果沒有,則去父類中的父類尋找,以此類推,直到找到object,如果依然沒有找到就報錯了

• super()可以獲取當前類的父類

• 並且通過super()返回物件呼叫父類方法時,不需要傳遞self

• 在python中是支援多重繼承的。也就是我們可以為乙個類同時制定多個父類

• 可以在類名的()後邊新增多個類,來實現多重繼承

• 多重繼承,會使子類同時擁有多個父類,並且會獲取到所有父類中的方法

• 在開發中沒有特殊情況,應該盡量避免使用多重繼承。因為多重繼承會讓我們的**更加複雜

• 如果多個父類中有同名的方法,則會先在第乙個父類中尋找,然後找第二個,找第三個…前面會覆蓋後面的

• 多型是物件導向的三大特性之一。從字面理解就是多種形態

• 乙個物件可以以不同形態去呈現

• 物件導向三大特性

• 封裝 確保物件中資料的安全

• 基礎 保證了物件的擴充套件性

• 多型 保證了程式的靈活性

• 屬性

• 類屬性,直接在類中定義的屬性是類屬性

• 類屬性可以通過類或類的例項訪問到。但是類屬性只能通過類物件來修改,無法通過例項物件修改

• 例項屬性 通過例項物件新增的屬性屬於例項屬性

• 例項屬性只能通過例項物件來訪問和修改,類物件無法訪問修改

• 方法

• 在類中定義,以self為第乙個引數的方法都是例項方法

• 例項方法在呼叫時,python會將呼叫物件以self傳入

• 例項方法可以通過類例項和類去呼叫

• 當通過例項呼叫時,會自動將當前呼叫物件作為self傳入

• 當通過類呼叫時,不會自動傳遞self,我們必須手動傳遞self

• 類方法 在類的內容以@classmethod 來修飾的方法屬性類方法

• 類方法第乙個引數是cls 也會自動被傳遞。cls就是當前的類物件

• 類方法和例項方法的區別,例項方法的第乙個引數是self,類方法的第乙個引數是cls

• 類方法可以通過類去呼叫,也可以通過例項呼叫

• 靜態方法

• 在類中用@staticmethod來修飾的方法屬於靜態方法

• 靜態方法不需要指定任何的預設引數,靜態方法可以通過類和例項呼叫

• 靜態方法,基本上是乙個和當前類無關的方法,它只是乙個儲存到當前類中的函式

• 靜態方法一般都是些工具方法,和當前類無關

欲帶皇冠必承其重

卓大大,我們是來自安工程的智慧型車協會,本次安徽賽區智慧型車競賽能夠順利舉辦算是讓每一位安徽學子松了一口氣。疫情肆虐,今年如此艱難的條件,對每一位車友都是種考驗,我還猶記三個月前得以返校做車的時光,那時候其它賽區都已經接近尾聲,而我們還從零起步,壓力可想而知。今年的信標組又是首次出現的聲音識別,簡直...

「欲戴王冠,必承其重」 深度解析職責鏈模式

應專案需求,公司安排jungle去成都出差一段時間。這不,jungle剛結束出差生活,回到公司準備報銷。算了一下,jungle一共有大概50萬的一筆小額票據需要報銷。按照公司規定,jungle得先去找自己的組長簽字。組長一看,嘖嘖嘖,我只能處理10萬金額以下的報銷,你這單子我簽個字,你還得找兵哥 主...

人到中年,必戒三欲

人心本不累,累的是所求過多。人生本不苦,苦的是慾望太多。做人,別太貪婪,貪婪太多,萬事不順,路會越走越窄。真正的幸福不在於擁有多少財富,而在於內心的安定與豐盈。放下一些,得到更多,吃虧一點,心境寬廣,知足常樂。人的一生,除了健康,平安是必需品之外,其他都是可有可無的。人活著,別太貪,人心不足蛇吞象,...