1 物件導向

2022-10-11 13:00:11 字數 2927 閱讀 7727

物件導向 是一種抽象化的程式設計思想,很多程式語言中都有的一種思想。

例如: 洗衣服

思考: 幾種途徑可以完成洗衣服?

答: 分兩種: 手洗和機洗

首先分析兩種;

1.手洗的過程是; 找盆子-放水-加洗衣粉-侵泡-搓洗-擰乾-倒水-漂洗n次-擰乾-晾曬

2.機洗的過程是:開啟洗衣機-放衣服-放洗衣粉-按開始按鈕-晾曬

思考; 對比兩種洗衣途徑,你們發現了什麼?

答; 機洗更簡單

思考:機洗,只需要找到一台洗衣機,加入簡單操作就可以完成洗衣的工作,而不需要關係洗衣機內部發生了什麼事情。

總結;物件導向就是將程式設計當初乙個事務(洗衣機),對外界來說,事務是直接使用的,而不用管他內部的情況。而程式設計就是設定事物能夠做什麼事。

而物件導向的程式,就好比是製造洗衣機,去幫助使用者解決問題。

思考:洗衣機洗衣服描述過程中,洗衣機其實就是乙個事務,就是物件,洗衣機物件**來得呢?

答:洗衣機是由工廠工人製作出來的

思考: 工廠工人怎麼製作出的洗衣機?

答:工人根據設計師的功能圖紙製作出來的

總結: 圖紙-->洗衣機-->洗衣服

在物件導向過程中,有兩個重要的組成部分:物件

類 ===> 圖紙

物件==> 洗衣機

類和物件的關係:用類建立乙個物件

2.1 類

類是一系列具體相同特徵和行為的事物的統稱,是乙個抽象的概念,不是真實存在的事物。

特徵==>屬性(變數)

行為==>方法(函式)

模擬如是製造洗衣機的時候用到發的圖紙,也就是說類是用來建立物件的。

2.2 物件

物件是由類建立出來的,是真實存在的事物,例如:洗衣機

注意: 在開發中,先有類,後有物件。

在python2中分為:經典類和新式類

類 語法:

class 類名():

**.......

注意: 類名要滿足命名識別符號規則,同時遵循大駝峰習慣。

3.1 建立物件

語法:

物件名 = 類名()
3.2 類裡面的self

self 指的是呼叫這個函式的物件

3.3 乙個類建立多個物件

3.4 類外面新增物件屬性

新增和獲取物件屬性

屬性即是特徵,比如:洗衣機的寬度,高度,重量。。。。

物件屬性 即可以在類外面新增和獲取,也能在類裡面新增和獲取。

3.4.1 類外面新增物件屬性

語法:

物件名.屬性名 = 值

3.5 類外面獲取物件屬性

語法:

物件名.屬性名

3.6 類裡面獲取物件屬性

語法:

self.屬性名

3.7 魔法方法

在python中,__xx__()的函式叫做魔法方法,指的是具有特殊功能的函式。

①__init__()方法的作用:初始化物件

思考: 洗衣機的寬度高度是與生俱來的屬性,可不可以在生產過程中就賦予這些屬性?

答:本應如此

注意: __init__()方法,在建立乙個物件的時候預設被呼叫,不需要手動呼叫

注意: __int__()中的self引數,不需要開發者傳遞,python直譯器會自動把當前的物件引用傳遞過去。

3.8 帶引數的__init__()

思考:乙個類可以建立多個物件,如何對不同的物件設定不同的初始化屬性呢?

答:傳引數

當使用print輸出物件的時候,預設列印物件的記憶體位址。

如果類定義了__str__方法,那麼就會列印從在這個方法中return的資料。

當刪除物件的時候,python直譯器也會預設呼叫__del__方法

物件導向 1

物件名列印 類名 位址值 1 從磁碟讀取class檔案,載入進方法區的class檔案區 2 將class檔案靜態的屬性和行為的載入進靜態區 3 將class檔案中私有的行為載入進方法區 4 在堆中持有方法的引用 5 讀取class檔案中的成員字段,並初始化 6 在堆中持有方法的引用 7 將這個位址賦...

物件導向1

oc中定義類需要以下兩部分 類介面部分語法 ubte ce用於宣告定義類的藉口部分 inte ce myperson nsobject 宣告成員變數 宣告方法 為方法型別標識 代表為類方法,直接用類名即可呼叫 代表實力方法,需用物件才能呼叫 void 為方法返回值型別 若無返回值需要用void宣告沒...

物件導向1

物件導向程式設計 物件導向程式設計 object oriented programming,oop 主要針對大型軟體設計而提出,使得軟體設計更加靈活,能夠很好地支援 復用和設計復用,並且使得 具有更好的可讀性和可擴充套件性。python中物件的概念很廣泛,python中的一切內容都可以稱為物件。類定...