首頁>Club>
3
回覆列表
  • 1 # 繁星落石

    python是面嚮物件語言,具有面向物件的特點,多型是其中之一。python多型實現了同一類的不同實現方式,符合面向物件程式設計的原則。

  • 2 # Python進階學習交流

    一般看到多型,就知道是面向物件的特點。而Python作為一門面向物件的語言,其也是有這個特點的。

    多型,通俗的來說就是父類的一個方法,可以被子類使用,在該方法的基礎上,子類還擁有其他的方法,相當於發揚光大了,更加的多,而且不同。

  • 3 # NC少年

    OOP(面向物件程式設計)中,依賴於物件型別的行為,稱為多型。

    廢話不說,直接上程式碼:

    注意:introduciton()函式,是針對App型別程式設計,而不是Toutiao、Weixin、 Taobao三個具體型別,因為我們在編寫introduction()函式時,不知道有多少種具體的App, 也不可能遍歷所有的App具體型別(每天都有新的app被開發)。但是無論將來你擴充套件多少個App具體類,只要它遵守協議(即實現hello成員函式),我們的introduction()都可以正確執行。這就是多型,使得我們程式設計時不針對具體的子型別,而是父型別程式設計,這使得程式碼可以重用,開發效率大大提高。

    因為python是動態型別語言,可能你看上述程式碼時覺得理所當然,但這背後隱藏著更深層次的東西。一旦上述程式碼放到靜態型別語言去實現,比如Java中,introduction函式的入參型別比必須提前定義好,你有兩個選擇,要麼是App父類,要麼是某個具體型別的App:如果是後者,你要程式碼擴充套件性會很差,會寫更多的程式碼;而如果是前者,恭喜你,你發揮了多型的威力。

    正因為pytyon是動態型別,多型在Python中到處可見。比如“*”這個運算子(本質也是一個函式),對於int, string, list型別,都可以正確執行(見上圖的demo2部分)

  • 中秋節和大豐收的關聯?
  • 為什麼找人借錢那麼難?