07-Python面向物件-基本理論
阿新 • • 發佈:2018-12-19
學習地址:
撩課-Python大資料+人工智慧1
撩課-Python大資料+人工智慧2
撩課-Python大資料+人工智慧3
撩課-Python大資料+人工智慧4
撩課-Python大資料+人工智慧5
撩課-Python大資料+人工智慧6
撩課-Python-GUI程式設計-PyQt5
1.基本理論
1).什麼是物件?
萬物皆物件 物件是具體物體 擁有屬性 擁有行為 把很多零散的東西, 封裝成為一個整體 舉例: 王二小 屬性 姓名 年齡 身高 體重 ... 行為 走路 吃飯 放羊 ...
2).Python中的體現
Python是一門特別徹底的面向物件程式設計(OOP)的語言 其他語言 基本資料型別 int 0 float 0.1 bool True Flase ... 物件型別 String "xxx" Array [1, 2, 3] ... Python 物件型別 int 0 float 0.1 bool True list [1, 2, 3] ... 面向過程&面向物件 都是一種解決問題的思路(思想) 面向過程 在解決問題的時候,關注的是解決問題的每一個的過程(步驟) 面向物件 在解決問題的時候,關注的是解決問題所需要的物件. 舉個栗子 做好飯之後洗碗 面向過程 你 洗菜 點火倒油 放菜,材料 翻炒 盛出 放水 放碗 倒洗潔精 開始刷 擦乾水 擺放好 面向物件 你 物件 技能1: 做飯 洗菜 點火倒油 放菜,材料 翻炒 盛出 技能2:洗碗 放水 放碗 倒洗潔精 開始刷 擦乾水 擺放好 你 物件 技能1: 做飯 放菜,材料 自動炒菜機 攪拌 翻炒 監測火候 盛出 技能2:洗碗 放水/放碗 自動洗碗機 倒洗潔精 開始刷 擦乾水 擺放好 對比 面向物件和麵向過程都是解決問題的一種方式(思想) 面向物件本身是對面向過程的封裝. 面向過程程式設計最重要的是什麼? 按照步驟劃分 把一個任務,分解成具體的每一個步驟 面向物件程式設計最重要的什麼? 按照功物件能進行劃分 找到物件, 確定物件屬性和行為 如何從面向過程程式設計的思想,過渡到面向物件程式設計? 1. 一樣的,列舉出一個任務的具體實現步驟 2. 試圖分離這些實現步驟中的功能程式碼塊 3. 將這些功能程式碼塊,劃分到某一個物件中 4. 根據這個物件以及對應的行為,抽象出對應的類 設計類 類
3).什麼是類?
某一個具體物件特徵的抽象
例如:
張三這個具體的人
屬性
年齡:18
身高:180
體重:250
...
行為
吃:吧唧嘴
喝:放白糖
嫖:不給錢
賭:沒贏過
...
抽象出來的類
不良青年
屬性
年齡
身高
體重
...
行為
吃
喝
嫖
賭
...
4).類的作用?
根據抽象的類,生產具體的物件
例如
類
不良青年
屬性
年齡
身高
體重
...
行為
吃
喝
嫖
賭
...
物件
張三
不同的身高,體重等屬性
不同的行為
李四
不同的身高,體重等屬性
不同的行為
王五
不同的身高,體重等屬性
不同的行為
類的組成
名稱
屬性
方法
一定要注意
以上屬性和方法,都是抽象的概念
在產生物件之後,物件才擁有具體的屬性值,和方法實現
列舉生活中的類
1
類
錢
物件
具體的1毛的,5毛的,1塊的,5塊的...
2
類
熊類
物件
熊大,熊二...
3
類
汽車
物件
奧拓, 奧迪, 馬自達 ..
...
物件和類的關係
物件
抽象
類
例項化
物件