python多态_Python基础入门18节-第十六节 面向对象如何理解多态
生活随笔
收集整理的這篇文章主要介紹了
python多态_Python基础入门18节-第十六节 面向对象如何理解多态
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
多態是面向對象的一大特性,Python本身也是一門多態性的語言。在Python中要實現多態,還是得借助于上節提到的繼承。
假設有這么一個場景,在夏季我們可以看到荷花、牡丹花、太陽花,夏天一到這些花全都開放了。這些花我們就將它理解多態,花的多種形態。下面通過代碼來實現這個場景:
1.定義一個鮮花類
class Flower: def blossom(self): print('')2.定義荷花類
class Lotus(Flower): def blossom(self): print('荷花開了!')3.定義牡丹花類
class Peony(Flower): def blossom(self): print('牡丹花開了!')定4.定義太陽花類
class Sunflowe(Flower): def blossom(self): print('太陽花開了!')可以看到荷花、牡丹花、太陽花都繼承自鮮花類,并且實現了各自的blossom方法。
當分別以這三個子類創建對象的后,調用相應的父類的blossom方法,則優先使用子類中重寫的方法,此時產生了三種不同的輸出結果
牡丹花開了!荷花開了!太陽花開了!為了進一步說明多態的好處,現定義一個函數
def mainflower(flower): flower.blossom();調用這個函數
mainflower(Peony())mainflower(Lotus())mainflower(Sunflowe())可以看到傳入的這個函數的參數,是牡丹花、花花、太陽花的對象,可以看看運行的結果:
牡丹花開了!荷花開了!太陽花開了!同樣是執行了blossom()方法,可以看到傳入不同的子類對象,輸出不同的效果,這就是多態。
更多關于Python的精彩,歡迎點擊右上角“關注”紅色按鈕,關注小編獲得更多的Python免費課程。
總結
以上是生活随笔為你收集整理的python多态_Python基础入门18节-第十六节 面向对象如何理解多态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 输卵管再通不孕
- 下一篇: python缩进tab还是空格_Pyth