python基礎之面向物件程式設計與類
目錄
面向過程的概念
面向物件的概念
類
一、面向過程的概念
1.面向過程是什麼?
面向過程的核心是‘過程’二字,解決問題的流程,分成幾個部分,先幹什麼,再幹什麼,最後幹什麼。
2.面向過程的優缺點:
優點:把複雜的問題簡單化,進而流程化
缺點:牽一髮而動全身,擴充套件性差、可維護性差
3.應用場景:
應用於對於擴充套件性需求比較低的場景,比如應用程式的安裝等。
二、面向物件的概念
1.面向物件是什麼?
面向物件的核心就是‘物件’二字
2.物件是什麼?
在現實生活中:一切皆物件(人,動植物,各種物品...)
在程式中:定義為特徵與技能的結合體。
舉個例子:我不是孫悟空,因為我沒有孫悟空的外表(特徵),我也沒有孫悟空的那些技能。
3.面向物件的優缺點
優點:拓展性強,可維護性強
缺點:程式設計複雜度高
4.面向物件的應用場景
對拓展性要求高的,比如微信、QQ等等程式,經常需要更新功能的
三、類
1.類的定義
類是一些列物件的相似特徵與相似技能的結合體,一般類名的首字母都是大寫。
站在不同的角度,劃分的類不一定是一樣的。舉個例子,人跟豬是一類,都屬於動物類。
面向物件的基本思路就是把程式中需要的資料和功能都先整合到物件裡面,然後每個物件共同的資料和功能整合到一起,就定義為類。
類的產生其實就是為了給物件提供屬性和功能的。
2.類跟物件的產生順序
在現實生活中:先有物件才有類
在程式中:必須先定義類,然後呼叫類才會產生物件
3.類的語法格式
class 類名():
函式體程式碼
4.定義類內部原理是什麼呢?
定義類之後立即會產生一個類的全域性名稱空間
接著執行類內部的函式體程式碼,產生的名字全部存在類的全域性名稱空間
接著把類的全域性名稱空間繫結給__dict__
5.類和物件的關係
呼叫類就會產生物件,物件使用__dict__預設產生一個空字典。
呼叫類的過程我們稱之為‘例項化’,產生的物件稱之為‘例項’。我們可以用列印__dict__的方式檢視類這個容器內盛放的東西或者物件的名稱空間。
物件名 = 類()
print(物件名.dict)
print(類名.dict)
6.類的作用
1.屬性引用:類名.屬性
2.例項化:物件名 = 類名(引數) # 引數可以沒有
7.給物件新增引數生成獨有資料
在類體增加一個def init(引數):無返回值
8.呼叫類內部原理
得到一個空物件
呼叫了類名.dict(引數)
得到一個初始化的結果(自動執行傳參後的__init__函式)
9.屬性查詢
1.類屬性:在類中寫的屬性
2.物件屬性:在物件自己的名稱空間中寫的屬性
3.類:
查:類名.屬性
增:類名.屬性 = 值
改:類名.屬性 = 新的值
刪:del 類名.屬性
4.物件:
查:物件名.屬性
增:物件名.屬性 = 值
改:物件名.屬性 = 新的值
刪:del 物件名.屬性
5.類的方法,類可以呼叫,物件也可以呼叫,但是類呼叫需要把物件當引數傳入,而物件呼叫可以自動把自己當第一個引數傳入,所以推薦物件呼叫。