python入門-面向物件2
阿新 • • 發佈:2018-12-04
一、面向物件三大特徵
面向物件程式設計最主要的有三個特徵:封裝、繼承、多型。
【1】封裝。
封裝,就是將物件敏感的資料封裝在類的內部,不讓外界直接訪問,但是提供了讓外界可以間接訪問的set/get方法,我們可以在set/get方法中新增資料的訪問限制邏輯,完善我們的程式碼,提高程式的健壯性。
對屬性進行私有化(屬性名稱雙下劃線開頭),給屬性提供set/get的訪問方法完成封裝過程。
【2】繼承。讓一個型別[子類]繼承另一個型別[父類],相當於繼承了父類中的公開的屬性和方法在子類中不需要重複編寫即可使用,提高了程式碼的複用性!體現的是A is a B的關係。
下面是一個簡單的繼承的案例
【3】多型。多型是讓我們的程式在執行的過程中,在不同的狀態下進行動態的切換,實現複雜的功能為目的的一種程式開發手段
二、魔法屬性和魔法方法
在python中,有的名稱會在前面和後面都加上兩個下劃線,例如__future__、init、__del__以及__new__等等,這些特殊的名稱,在python中就稱為魔法方法或魔法屬性。
例如:
(1)new 是建立類的物件的函式,相當於C++中建構函式。
(2)init 會在__new__之後被呼叫,用來初始化物件的。
(3)del 是物件將要被銷燬的時候被呼叫,用來將物件所佔用的記憶體資源釋放給作業系統,相當於C++中的解構函式。
在python中,有一些內建好的特定的方法,這些方法在進行特定的操作時會自動被呼叫,稱之為魔法方法。