Python進階教程5——物件導向

T-seven發表於2019-04-13

一.什麼是物件導向

物件:物件是現實世界或者思維世界中的實體在計算機中的反映,它將資料以及這些資料上的操作封裝在一起。
相比較函式,物件導向是更大的封裝,根據職責在一個物件中封裝多個方法

  • 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_ 這個內建方法了 
    

在這裡插入圖片描述
在這裡插入圖片描述

相關文章