1. 程式人生 > >07-Python面向物件-基本理論

07-Python面向物件-基本理論

學習地址:

撩課-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
				類
					汽車
				物件
					奧拓, 奧迪, 馬自達 ..
			...
		物件和類的關係
			物件
				抽象
					類
						例項化
							物件