1. 程式人生 > >Python(十一)面向物件程式設計

Python(十一)面向物件程式設計

一、概念

1、面向物件程式設計:資料與操作封裝一起就成了物件。

2、類:對相同型別的物件分類、抽象,得出共同特徵,把這些共同特徵寫在一起就形成了一個類。

類成員包含資料成員和成員方法,資料成員用變數形式表示,成員方法用函式形式表示。

3、類內方法外的變數叫屬性,類內方法內的變數叫欄位。

4、資料成員分為物件的資料成員和類的資料成員,類的資料成員是該類所有物件共享的,物件的資料成員之間互不影響。

在主程式或類的外部,物件的資料成員屬於物件,只能通過物件名訪問

類的資料成員屬於類,可以通過類名或物件名訪問。

二、類的定義和使用

私有成員:以雙下劃線(__)開頭是私有成員,python中沒有對私有成員提供嚴格的訪問保護機制。


三、方法(描述物件所具有的行為)

公有方法和私有方法:指屬於物件的例項方法,即每個物件都有自己的公有方法(沒有下劃線開始)和私有方法(以雙下劃線__開始)。公有方法通過物件名直接呼叫,私有方法只能在例項方法中通過self呼叫,或在外部通過特殊方式呼叫。

靜態方法和類方法:可以通過類名和物件名呼叫,但不能直接訪問屬於物件的成員,只能訪問類的成員。


四、屬性

1、設定只讀,只需@property


2、設定可讀可修改,不可刪除


3、設定可讀、可修改、可刪除


五、繼承

1、概念

(1)在繼承關係中,已有的、設計好的類叫做父類或者基類,新設計的類叫做子類或派生類。

(2)派生類可以繼承父類的公有成員,但不能繼承其私有成員。

(3)如果需要在派生類中呼叫基類的方法,可以使用內建函式super()或者通過“基類名.方法名()”的方式實現。

2、設計Person類,並根據Person派生Teacher類,分別建立Person類和Teacher類的物件


注:面向物件的知識很龐大,這裡入門篇先做到這