1. 程式人生 > >python學習筆記:(十四)面向物件

python學習筆記:(十四)面向物件

1、類(class):

  用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法

2、類變數:

  類變數在整個例項化的物件中是公用的。類變數定義在類中且在函式體之外。類變數通常不作為例項變數使用。

3、資料成員:

  類變數或者例項變數用於處理類及其例項物件的相關的資料。

4、方法重寫:

  如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫

5、繼承:

  即一個派生類(derived class)繼承基類(base class)的欄位和方法。繼承也允許把一個派生類的物件作為一個基類物件對待。

6、例項化:

  建立一個類額例項,類的具體物件。

7、方法:

  類中定義的函式。

8、物件:

  通過類定義的資料結構例項。帝鄉包括兩個資料成員(類變數和例項變數)和方法。

一、類定義

  class classname:

    statement-1

    ....

  類例項化後,可以使用其屬性,實際上,建立一個類之後,可以通過類名訪問其屬性。

 二、類物件

  類物件支援兩種操作:屬性引用和例項化

  屬性引用使用和Python中所有的屬性引用一樣的標準語法:obj.name

  類物件建立後,類名稱空間中所有的命名都是有效屬性名。

  構造方法

    很多類都傾向於將物件建立為有初始狀態的。因此類可能會定義一個名為__init__()的特殊方法。

    類定義了__init__()方法的話,類的例項化查詢會自動呼叫__init__()方法。

三、繼承

  python同樣支援類的繼承。

    如:class derivedclassname(baseclassname):

      statement1

      ....

注意:

  在繼承多個基類時,需要考慮基類的顯示順序,因為若是基類中有相同的方法名,而在子類中使用時未指定,python從左至右搜尋,即方法在子類中未找到時,從左到右查詢基類中是否包含方法。

四、方法重寫

  如果父類的方法的功能不能滿足需求,可以再子類重寫父類的方法

五、類屬性與方法

1、類的私有屬性

  __private_attrs:兩個下劃線開頭,宣告該屬性未私有,不能在類的外部被使用或直接訪問。在類內部的方法中使用時self.__private_attrs

2、類的方法

  在類的內部,使用def定義為類的方法,與一般函式的區別是,類方法第一個引數必須是self

3、類的私有方法

  __private_method:兩個下劃線開頭,宣告該方法為私有方法,不能在類的外部呼叫。在類的內部呼叫self.__private_methods