1. 程式人生 > 其它 >面向物件-類和物件

面向物件-類和物件

面向過程和麵向物件

面向過程就是分析出解決問題所需要的步驟,然後用函式這些步驟一步一步實現,使用的時候一個一個依次呼叫就可以。面向物件是把構成事物分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。

面向過程的特點:
將複雜的問題流程化,進而簡單化,但是牽一髮而動全身,擴充套件性差,可維護性也很差。對擴充套件性要求不高的地方可以使用,比如安裝的使用
面向物件的特點:
擴充套件性強,可維護性強,適用於對擴充套件要求比較高的地方,比如我們生活中的微信,qq等。

面向物件

一、什麼是物件

1、在程式中:物件就是盛放資料和函式的容器
2、在現實生活中,一切皆物件,物件是特徵和技能的結合體。

二、什麼是類

類是一系列物件相似的特徵與相似的技能的結合體,站在不同的里長,劃分的分類不一定是一樣的。

三、類和物件的關係

1、在程式中必須先定義類,然後呼叫類產生物件
2、在現實生活中,是先有物件再有類的

四、定義類

1、定義函式:

2、定義類

在定義類後發生的事情:
(1)立即執行類體程式碼
(2)產生一個類的名稱空間,把類體裡面執行的名字都扔到名稱空間中去(大字典)
(2)把類的名字繫結給__dict__。通過類名.__dict__可以檢視類的名稱空間。

3、給物件定製自己獨有的屬性

4、屬性的查詢順序

(1)類屬性:在類中寫的屬性就稱為類屬性

1)查: 類名.屬性名
2)增:類名.屬性名=‘xxx’(此屬性名在類名稱空間中不存在)
3)改:類名.屬性名=‘xxx’(此屬性名在類名稱空間中存在)
4)刪:del 類名.屬性名
(2)物件屬性:在物件自己的名稱空間中的屬性就是物件屬性
當物件呼叫屬性的時候,先在自己的名稱空間中查詢,如果找不到就去類名稱空間查詢。當類調屬性的時候,只能在類名稱空間查詢。
1)查: 物件名.屬性名
2)增:物件名.屬性名=‘xxx’(此屬性名在類名稱空間中不存在)
3)改:物件名.屬性名=‘xxx’(此屬性名在類名稱空間中存在)
4)刪:del 物件名.屬性名

5、方法的呼叫

類呼叫的方法:
類名.方法名(引數1,引數2)需要幾個引數傳幾個引數
物件呼叫的方法:
類名.方法名(引數1,引數2)會把自己當做引數傳遞給函式