python day8 9 物件導向程式設計

2021-10-14 12:31:27 字數 689 閱讀 4205

物件是具體的,類是抽象的。物件都有屬性和行為,把一堆有共同特徵的物件的靜態特徵(屬性)和動態特徵(動作)抽取出來後就可以構造出類。

可見性問題:

通過類建立出物件後,物件的引數是有可見性問題的。一般引數都是由私有、受保護、公開三個狀態。python裡只有私有和公開狀態。

但是大家都是成年人的,要對自己的行為負責。所以python裡的私有屬性其實也可以訪問的。

__雙下劃線開頭的就是私有引數的命名方式,一般方式訪問會報錯。習慣上用_單下劃線表示乙個引數不應該被訪問,但是對程式來說和沒加單下劃線的引數沒區別。

物件導向的支柱:

封裝、繼承和多型。

@property裝飾器:因為訪問許可權問題,直接暴露不安全,也不建議設定為私有屬性,所以用裝飾器則可以安全又方便的讀寫屬性。常用的有getter和setter方法。前者用於修改屬性,後者用於返回屬性值。

靜態類:非物件方法,不涉及物件屬性數值的方法。使用時需要加上@staticmethod

__slots()__魔法:限制屬性數量,主要是節省記憶體。因為創造類的時候就會建立乙個字典,而slots魔法可以使其不創造字典,節省大量記憶體。注意,slots魔法不會影響到子類。

類之間的關係:

黎克特制替換原則:子類能在函式中替換父類。

python不支援抽象類,但是通過abc模組的abcmeta元類和abstractmethod包裝器來達到抽象類的效果

python day6 物件導向

物件和類 什麼是物件,什麼是類 python中一切皆為物件,且python3統一了類與型別的概念,型別就是類,所以,不管你信不信,你已經使用了很長時間的類了 class lei print 666 例項化 duixiang lei 物件指向這一類的 記憶體位址 類是由屬性 變數 和技能 函式 的組合...

Python Day 2 物件導向程式設計

property裝飾器 將乙個函式變成屬性呼叫 在繫結屬性的時候,如果把屬性資料暴露出去,雖寫起來簡單但無法檢查引數,導致資料可以隨意更改。所以需要乙個set和乙個get,通過set來檢查設定引數。訪問器 getter 把乙個訪問器變為屬性只需要加上 property 只定義getter方法不定義s...

python DAY 7 2 物件導向程式設計例項

學習內容 物件導向程式設計,繼承與多型 tips 多型的核心思想是同一型別的不同例項,同一訊息的不同響應 重點 1.子類繼承父類 我們在定義完父類之後,在建立子類時可以直接引用父類 定義及引用格式如下 class 子類名 父類名 def init self,父類關鍵字 多個 子類關鍵字 多個 這個時...