Python進階教程5——物件導向
一.什麼是物件導向
物件:物件是現實世界或者思維世界中的實體在計算機中的反映,它將資料以及這些資料上的操作封裝在一起。
相比較函式,物件導向是更大的封裝,根據職責在一個物件中封裝多個方法
- 1.在完成某一個需求前,首先確定職責–要做的事(方法)
- 2.根據職責確定不同的物件,在物件內部封裝不同的方法(多個)
- 3.最後完成程式碼,就是順序的讓不同的物件呼叫不同的方法
特點: - 1.注重物件和職責,不同的物件承擔不同的職責
- 2.更加適合對複雜的需求變化,是專門應對複雜專案的開發,提供的固定套路
- 3.需要在程式導向的基礎上,再學習一些物件導向的語法
二.物件導向的兩個基本概念
1.類的概念
類:是對一群具有相同特徵或行為的事物的一個統稱,是抽象的,不能直接使用
特徵:被稱為屬性
行為:被稱為方法
類 就相當於製造飛機時的圖紙,是一個模板,是負責建立物件的
2.類的建立
- 1.類名:滿足這類事物的名字(大駝峰命名法)
大駝峰命名法:
1.每個單詞的首字母大寫
2.單詞與單詞之間沒有下劃線 - 2.屬性:這個類建立出來的物件有什麼樣的特徵
- 3.方法:這個類建立出來的物件有什麼樣的行為
類名的確定:
名詞提煉法:分析整個業務流程,出現的名詞,通常就是找到的類名
定義一個只包含方法的類
class 類名:
def 方法1(self,引數列表):
pass
def 方法2(self,引數列表):
pass
方法的定義格式和函式的幾乎一樣
區別在於第一個引數必須是self
示例
3.物件的概念
物件:是由類建立出來的一個具體的存在,可以直接使用,物件是類具體化的產物,也就是例項化
由哪一個類建立出來的物件,就擁有哪一個類的定義的屬性和方法
在程式開發中,應該先有類,再有物件
建立物件
當一個類定義完成之後,要使用這個類來建立物件
物件變數 = 類名()
示例
現在我們構造一個類,並且例項化
三.引用的概念
先來看一下python中對變數的解釋
在python中,如果要使用一個變數,不需要提前進行宣告,只需要在用的時候,給這個變數賦值即可 (這個和C語言等靜態型別語言不同,和python為動態型別有關)。
類比到物件導向:例如上面的建立dog這個物件的時候‘dog = Animal()‘ Animal()就是物件,dog就是引用。
self:哪一個物件呼叫的方法,self就是哪一個物件的引用
在類封裝的方法內部,self就表示當前呼叫方法的物件自己
四.內建的方法
-
1 初始化方法
類名() 就可以建立一個物件 當使用類名()建立物件的時候,python直譯器會自動執行以下操作 1.為物件在記憶體中分配空間 —建立物件 2.呼叫初始化方法 在開發中,如果希望在建立物件的同時,就設定物件的屬性,可以對_ init _方法進行改造 1.把希望設定的屬性值,定義成_ init _ 方法的引數 2.在方法內部使用self.屬性名 = 形參 接收外部傳遞的引數 3.在建立物件時,使用類名(屬性1,屬性2..)呼叫
-
_ str _ 方法
在python中,使用python輸出物件變數,預設情況下,會輸出這個變數引用的物件是由哪一個類建立的 物件,以及在記憶體中的地址(十六進位制表示) 希望使用print輸出物件變數時,能夠列印自定義的內容,就可以利用_ str_ 這個內建方法了
相關文章
- python教程12-物件導向進階Python物件
- Python進階之物件導向Python物件
- Java小白進階筆記(5)-進階物件導向Java筆記物件
- Python入門教程100天:Day09-物件導向進階Python物件
- 「MoreThanJava」Day 5:物件導向進階——繼承詳解Java物件繼承
- Python進階之物件導向(類的特殊方法)Python物件
- JS進階(一)(物件導向、原型)JS物件原型
- ??Java開發者的Python快速進修指南:物件導向進階JavaPython物件
- 【廖雪峰python進階筆記】物件導向程式設計Python筆記物件程式設計
- ~~物件導向進階(二)——__name__=="__main__"~~物件AI
- 【Python】5.物件導向的PythonPython物件
- 從零學Python:17課-物件導向程式設計(進階)Python物件程式設計
- Java開發者的Python快速進修指南:物件導向--高階篇JavaPython物件
- 物件導向進階時,if語句寫錯位置物件
- Java進階 | 從整體上觀察物件導向Java物件
- java物件導向(5)Java物件
- Python基礎教程09 - 物件導向深入Python物件
- Python——物件導向Python物件
- Python 物件導向Python物件
- python物件導向Python物件
- [.net 物件導向程式設計進階] (5) Lamda表示式(一) 建立委託物件程式設計
- [.net 物件導向程式設計進階] (1) 開篇物件程式設計
- JAVA(一)JAVA基礎/物件導向基礎/高階物件導向Java物件
- python-程式導向、物件導向、類Python物件
- Java 物件導向基礎 以及進階知識 總結Java物件
- python物件導向一Python物件
- python物件導向(一)Python物件
- python物件導向(下)Python物件
- Python物件導向(上)Python物件
- 前端基礎進階(10):物件導向實戰之封裝拖拽物件前端物件封裝
- 【C#進階】高階物件導向特性_2024-06-22C#物件
- 物件導向-物件導向思想物件
- Python學習之物件導向高階程式設計Python物件程式設計
- Python 快速教程(基礎篇09): 物件導向的進一步擴充Python物件
- python-進階教程-使用物件屬性進行排序Python物件排序
- Python 快速教程(進階篇06):迴圈物件Python物件
- Python 快速教程(進階篇07):函式物件Python函式物件
- python物件導向思想(類與物件)Python物件