一、面向對象三大特征
面向對象程序設計最主要的有三個特征:封裝岭洲、繼承宛逗、多態(tài)。
【1】封裝盾剩。
封裝雷激,就是將對象敏感的數據封裝在類的內部替蔬,不讓外界直接訪問,但是提供了讓外界可以間接訪問的set/get方法屎暇,我們可以在set/get方法中添加數據的訪問限制邏輯承桥,完善我們的代碼,提高程序的健壯性根悼。
?對屬性進行私有化(屬性名稱雙下劃線開頭)凶异,給屬性提供set/get的訪問方法完成封裝過程。
【2】繼承挤巡。讓一個類型[子類]繼承另一個類型[父類]剩彬,相當于繼承了父類中的公開的屬性和方法 在子類中不需要重復編寫即可使用,提高了代碼的復用性矿卑!體現的是A is a B的關系喉恋。
下面是一個簡單的繼承的案例
【3】多態(tài)。 多態(tài)是讓我們的程序在運行的過程中母廷,在不同的狀態(tài)下進行動態(tài)的切換轻黑,實現復雜的功能為目的的一種程序開發(fā)手段
二、魔法屬性和魔法方法
在python中琴昆,有的名稱會在前面和后面都加上兩個下劃線氓鄙,例如__future__、__init__业舍、__del__以及__new__等等抖拦,這些特殊的名稱,在python中就稱為魔法方法或魔法屬性勤讽。? ? ? ?
例如:? ? ??
(1)__new__ ?是創(chuàng)建類的對象的函數蟋座,相當于C++中構造函數拗踢。 ? ? ??
(2)__init__ 會在__new__之后被調用脚牍,用來初始化對象的。 ? ? ??
(3)__del__ 是對象將要被銷毀的時候被調用巢墅,用來將對象所占用的內存資源釋放給操作系統(tǒng)诸狭,相當于C++中的析構函數。?
在python中君纫,有一些內置好的特定的方法驯遇,這些方法在進行特定的操作時會自動被調用,稱之為魔法方法蓄髓。