物件可以指自然界中的任何事物
計算機為解決某個領域問題所採用的事物(自然界中的事物的模型化)
事物(物件)具有自身的特徵或能力
計算機中的物件具有解決問題所需要的特徵或能力
封裝將模型的特徵和能力打包在一起
模型的改變由模型自身來完成,就像自然界中的事物一樣
隱藏模型的細節,外界只能使用它,而不必/不能改變它
繼承符合自然界的分類規律
快速的**重用
多型子類可以繼承父類的特徵與能力,還可以通過自定義來修改其特徵與能力
鴨子型別(duck typing)只要有呼叫者需要的屬性,就可以呼叫,不需要介面
組合乙個模型可以由其他的模型組成
定義類就是建立模型(模子/印章)
例項化類就是建立真實事物(產品/印章印出來的圖案)
呼叫_new_()方法建立例項
new()自動從ob ject繼承
呼叫_init_()方法對其初始化
init()方法在類中定義
-緊跟類名行之後,以三音好包圍的字串
-檢視類說明 類名 do c. help(類名)
-python 2.x 版本
預設為是經典類
繼承object為新式類
-python 3.x 版本
預設為是經典類
繼承object為新式類
區別經典類繼承為深度優先
新式類繼承為廣度優先
具有能動性就是新增方法
def fun_name(self, ...):
pass
其中的引數self代表類的例項,在呼叫方法時由系統自動提供
方法定義時必須指明self引數
提供用字串來操作類的屬性/方法的方式
主要工具函式: hasattr (obj_name,『屬性名』)
setattr (obj_name,『屬性名』,值)
getattr (obj_name,『屬性名』)
將方法包裝成屬性,以隱藏相關實現
三種屬性操作
將實現特殊協議方法的類作為另乙個類的類屬性
用來攔截和控制屬性訪問並可以重複使用
協議方法: 分類
同名的例項屬性和非資料描述符(以方法為例)訪問優先順序
注意:只能在新式類中使用
物件導向程式設計 python 學習筆記
物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把...
python學習筆記 物件導向程式設計(OOP)
1.物件 世間萬物皆是物件。通常將物件分為兩部分 靜態部分 屬性 和動態部分 行為 例如人的性別是物件人的屬性,人走路是物件人的行為。python天生是物件導向的。2.類 類是封裝物件的屬性和行為的載體。類是乙個抽象概念,例如定義人是乙個類,那麼男人 女人都是人這一類的例項。3.物件導向程式設計的特...
學習筆記 物件導向程式設計
學習日期 2016年9月26日 2016年9月27日 學習課程 物件導向程式設計 廖雪峰的官方 物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。在python中,所有資料型別...