物件導向 是一種抽象化的程式設計思想,很多程式語言中都有的一種思想。
例如: 洗衣服
思考: 幾種途徑可以完成洗衣服?
答: 分兩種: 手洗和機洗
首先分析兩種;
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中的一切內容都可以稱為物件。類定...