13 - 面向對象基礎

返回主頁

📄目錄

1 面向對象

💡 主流的兩種編程思想:面向過程、面向對象

👉🏻 舉例:C語言就是面向過程的例子,比較適合開發中小型項目;面向對象的例子有java和python,較適合開發大型項目

👉🏻 以洗衣服為例:

2 類和對象

類:對一系列具有相同屬性和行為的事物的統稱,是一個抽象概念,不是真實存在的事物

對象:類的具體表現,是類創建一來的真實存在的事物

❗️ 注意:在開發中,先有類,再有對象

2.1 類的三要素

  1. 類名

  2. 屬性:對象的特徵描述,用來說明是什麼樣子的

  3. 方法:對象具有的功能(行為),用來說明能夠做什麼

舉例:

類名屬性方法
人類身高、體重、年齡...走路、說話、學習...
洗衣機類長度、寬度、高度...漂洗、速洗...

2.2 定義類

基本格式:

python-logo

輸出結果:

2.3 創建對象

創建對象的過程也叫做「實例化對象」

實例化對象的基本格式:對象名 = 類名()

python-logo

輸出結果:

2.4 實例方法和實例屬性

2.4.1 實例方法

由對象調用的,至少有一個self參數,執行實例方法的時候,自動將調用該方法的對象賦值給self

python-logo

輸出結果:

💡 打印對象和打印self得到的結果是一致的

💡 當對象調用實例方法時,Python會自動將對象本身的引用作為參數,傳遞到實例方法的第一個參數self裡面

2.4.2 實例屬性

格式:self.屬性名

python-logo

輸出結果:

❗ 實例屬性和類屬性的區別:

  1. 類屬性屬於類,是公共的,大家都能訪問到

  2. 實例屬性屬於對象的,是私有的

  3. 只能由對象名訪問,不能由類名訪問

💡 上述方案:每實例化一次,就需要添加一次實例屬性,效率不高

👉🏻 因而一般會用到下方的構造函數⬇️

3 構造函數 __init__

作用:通常用來做屬性初始化/賦值操作

❗ 注意:在類實例化對象的時候,會被自動調用

3.1 基本樣式

python-logo

輸出結果:

3.2 例子1

python-logo

輸出結果:

⚠️⚠️但是這樣會固定每一個實例,因此要改成以下這樣⬇️

3.3 例子2(適合常用)

python-logo

輸出結果:

4 析構函數 __del__()

刪除對象的時候,解釋器會默認調用__del__()方法

python-logo

先建立一個類:

👉🏻 同時執行以下代碼時:

輸出結果:

👉🏻 同時執行以下代碼時:

輸出結果:

💡 程序塊__del__()主要是表示該程序塊/函數已經全部執行結束。一般而言用得比較少

導航連結:

目的地超連結
首頁返回主頁
Python學習Python學習
上一篇12 - 閉包&裝飾器
下一篇14 - 封裝、單繼承