1. 程式人生 > >python基礎18 ---多態與綁定方法

python基礎18 ---多態與綁定方法

屬性 但是 多個 width 實例化 參數 pytho 傳值 字符


一、抽象類

  1、抽象類的定義:從一堆類中抽象出相同的內容,重新組成一個新的類,這樣的類屬於抽象類。

  2、香蕉類是一類水果,蘋果類是一類水果,葡萄類是一類水果,但是他們都屬於水果,從他們這些類中可以抽象出相同的部分都是屬於水果類,這個水果類就屬於抽象類。但是你永遠無法吃到一個叫水果的對象,所以抽象類是不能被實例化的,他只能被別的類所繼承,並且子類必須實現抽象方法。

  3、該抽象類主要和abc模塊結合使用。(之前將的讀和寫)

  4、抽象類的本質還是類,指的是一組類的相似處,包括數據屬性和函數屬性,而接口只強調函數屬性的相似度。二、多態

  1、什麽是多態?

    多態指的是一類事物的多種形態,一個抽象類有多個子類,因而多態的概念依賴於繼承。(水是個抽象類,他可以有水蒸氣,泉水,冰等多種形態。)  

  2、序列類型有多種形態,分別是字符串,列表,元組,因此他們都遵循這個序列類型抽象類的使用方法,可以通過索引取值可以分片等。

三、多態性

  1、什麽是多態性?

    多態性是指具有不同功能的函數或對象可以使用相同的函數名,這樣就可以使用相同的函數名來調用不同功能的函數了。如圖所示:

    技術分享

  2、多態性分為靜態多態性和動態多態性兩種。

    靜態多態性:任何序列類型的數據都可以通過+來運算

    技術分享

    動態多態性:如圖一所示

  3、多態性是指就是一個函數實現不同函數或對象的功能。

  4、多態性的好處?

    4.1增長了程序的靈活性,以不變應萬變,無論對象怎麽變化我們都可以以同一形式去調用它。

    4.2增長了程序的可擴展性,使用者可以創建一個新的對象,但是調用的方式卻不會發生變化。四、綁定方法與非綁定方法

  1、類中定義的函數分為兩大類,一種是有綁定方法的函數,一種是沒有綁定方法的函數。

  2、有綁定方法的函數

    2.1綁定到對象的方法:類中定義的函數屬性默認都是綁定到對象上的,綁定給誰,被綁定者來調用就自動將他本身當作

   第一個參數傳進去。

    2.2綁定到類的方法:在類中用classmethod裝飾器裝飾的函數都是綁定到類上的。不管是類調用還是對象調用都會自動將類

   當作第一個參數,自動傳入。

  3、非綁定方法的函數。

    類中的函數用staticmethod裝飾器裝飾的函數都是麽有被綁定的。對象和類都可以調用它,但是不會自動傳值。

  4、eg:

  技術分享

    

python基礎18 ---多態與綁定方法