python物件導向。

2021-10-13 01:35:55 字數 2150 閱讀 7840

物件導向:

物件劃分為兩部分,1.靜態部分被稱為屬性,2.動態部分被稱為什麼行為。識別出這個物件的屬性和行為後,這個物件就被定義完成了。類實質上就是封裝物件屬性和行為的載體,而物件則是類抽象出來的乙個例項。這也是進行物件導向程式設計的核心思想,即把具體事物的共同特徵抽象成實體概念,有了這些抽象出來的實體概念,就可以在程式語言的支援下建立類。

一.類的定義:

python使用class關鍵字來定義類。其中,類名的首字母一般需要大寫。

類的所有例項方法都必須至少有乙個名為self的引數,並且必須是方法的第乙個形參(如果有多個形參),self引數代表將來要建立的物件本身。在類的例項方法中訪問例項屬性時需要以self為字首。

二.物件的建立:

在python中,有兩種物件:類物件與例項物件。類物件只有乙個,而例項物件可以有多個。

1.類物件:是在執行class語句時建立的。

2.例項物件:物件通過呼叫類物件來建立(就像呼叫函式一樣來呼叫類物件),每個例項物件繼承類物件的屬性,並獲得自己的命名空間。例項方法的第乙個引數預設為self,表示引用例項物件。在例項方法中對self的屬性賦值才會建立屬於例項物件的屬性。

如果類中存在相同名稱的類屬性與例項屬性,則通過例項物件只能訪問例項屬性。

此外,還可以通過賦值運算子修改或增加類物件與例項物件的屬性。

三.構造方法:

一般用來為例項屬性設定初值或進行其他必要的初始化操作,在建立例項物件時被自動呼叫和執行。

四.析構方法:

一般用來釋放物件占用的資源,在刪除物件和收回物件空間時被自動呼叫和執行。

五.類方法:

類方法是類所擁有的方法,通過修飾器@classmethod在類中定義。其中,cls表示類本身,通過它可以訪問類的相關屬性,但不可以訪問例項屬性。

六.靜態方法:

類方法可以通過類名或例項物件名呼叫,靜態方法也可以通過兩者呼叫。其中,@staticmethod為裝飾器,引數列表中可以沒有引數。靜態方法可以訪問類屬性,但不可以訪問例項屬性。

運算子過載:

在python中可以通過運算子過載來實現物件之間的運算。字串可以通過「+」運算子實現字串連線操作,其本質是通過__add__方法過載了運算子「+」,字串可以通過「+」運算子實現字串連線操作,其本質是通過__add__方法過載了運算子「+」。

運算子過載包括:

算術運算子過載 比較運算子過載

字串表示過載 索引或切片過載

檢查成員過載

物件導向的三大特徵:

1.封裝:封裝是物件導向程式設計的核心思想。它是指將物件的屬性和行為封裝起來,其載體就是類,類通常對客戶隱藏其實現細節,這就是封裝的思想。

(1)類的封裝可以隱藏類的實現細節,迫使使用者只能通過方法去訪問資料,這樣就可以增強程式的安全性。(2)在定義類時,可以將屬性定義為私有屬性,這樣外界就不能隨意修改。python中通過在屬性名前加兩個下畫線來表明私有屬性。(3)當屬性設定為私有屬性後,經常需要提供設定或獲取屬性值的兩個方法供外界使用。(4)私有屬性在類外不能直接訪問,但程式在測試或除錯環境中,可以通過「物件名._類名」的方式在類外訪問。

2.繼承:繼承是物件導向程式設計提高重用性的重要措施。它體現了特殊類與一般類之間的關係,當特殊類包含了一般類的所有屬性和行為,並且特殊類還可以有自己的屬性和行為時,稱作特殊類繼承了一般類。一般類又稱為父類或基類,特殊類又稱為子類或派生類。

(1)單一繼承:指生成的派生類只有乙個基類。所以繼承關係比較簡單,操作容易。

(2)多重繼承:指派生類可以同時繼承多個基類。在多重繼承中,如果基類存在同名的方法,python按照繼承順序從左到右在基類中搜尋方法。

3.多型:是物件導向程式設計的重要特徵。

指基類的同乙個方法在不同派生類物件中具有不同的表現和行為,當呼叫該方法時,程式會根據物件選擇合適的方法。

設計模式:工廠模式和介面卡模式

python物件導向學習 python物件導向學習

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...

python物件導向總結 Python物件導向總結

python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...

python登入物件導向 python 物件導向

一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...