【3】python入門-物件導向-2

weixin_34194087發表於2018-07-27

一、物件導向三大特徵

物件導向程式設計最主要的有三個特徵:封裝、繼承、多型。

【1】封裝。

封裝,就是將物件敏感的資料封裝在類的內部,不讓外界直接訪問,但是提供了讓外界可以間接訪問的set/get方法,我們可以在set/get方法中新增資料的訪問限制邏輯,完善我們的程式碼,提高程式的健壯性。

 對屬性進行私有化(屬性名稱雙下劃線開頭),給屬性提供set/get的訪問方法完成封裝過程。

【2】繼承。讓一個型別[子類]繼承另一個型別[父類],相當於繼承了父類中的公開的屬性和方法 在子類中不需要重複編寫即可使用,提高了程式碼的複用性!體現的是A is a B的關係。

下面是一個簡單的繼承的案例

13089573-b6457283b6ca7837.png
13089573-07ceca30dc5ea3fa.png
13089573-ff94efc66455413a.png

【3】多型。 多型是讓我們的程式在執行的過程中,在不同的狀態下進行動態的切換,實現複雜的功能為目的的一種程式開發手段

二、魔法屬性和魔法方法

在python中,有的名稱會在前面和後面都加上兩個下劃線,例如__future__、__init__、__del__以及__new__等等,這些特殊的名稱,在python中就稱為魔法方法或魔法屬性。       

例如:      

(1)__new__  是建立類的物件的函式,相當於C++中建構函式。       

(2)__init__ 會在__new__之後被呼叫,用來初始化物件的。       

(3)__del__ 是物件將要被銷燬的時候被呼叫,用來將物件所佔用的記憶體資源釋放給作業系統,相當於C++中的解構函式。 

在python中,有一些內建好的特定的方法,這些方法在進行特定的操作時會自動被呼叫,稱之為魔法方法。

13089573-84dee4342c8381b6.png

相關文章