python多态_Python基础入门18节-第十六节 面向对象如何理解多态
多態(tài)是面向?qū)ο蟮囊淮筇匦?#xff0c;Python本身也是一門多態(tài)性的語言。在Python中要實(shí)現(xiàn)多態(tài),還是得借助于上節(jié)提到的繼承。
假設(shè)有這么一個(gè)場景,在夏季我們可以看到荷花、牡丹花、太陽花,夏天一到這些花全都開放了。這些花我們就將它理解多態(tài),花的多種形態(tài)。下面通過代碼來實(shí)現(xiàn)這個(gè)場景:
1.定義一個(gè)鮮花類
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('太陽花開了!')可以看到荷花、牡丹花、太陽花都繼承自鮮花類,并且實(shí)現(xiàn)了各自的blossom方法。
當(dāng)分別以這三個(gè)子類創(chuàng)建對(duì)象的后,調(diào)用相應(yīng)的父類的blossom方法,則優(yōu)先使用子類中重寫的方法,此時(shí)產(chǎn)生了三種不同的輸出結(jié)果
牡丹花開了!荷花開了!太陽花開了!為了進(jìn)一步說明多態(tài)的好處,現(xiàn)定義一個(gè)函數(shù)
def mainflower(flower): flower.blossom();調(diào)用這個(gè)函數(shù)
mainflower(Peony())mainflower(Lotus())mainflower(Sunflowe())可以看到傳入的這個(gè)函數(shù)的參數(shù),是牡丹花、花花、太陽花的對(duì)象,可以看看運(yùn)行的結(jié)果:
牡丹花開了!荷花開了!太陽花開了!同樣是執(zhí)行了blossom()方法,可以看到傳入不同的子類對(duì)象,輸出不同的效果,這就是多態(tài)。
更多關(guān)于Python的精彩,歡迎點(diǎn)擊右上角“關(guān)注”紅色按鈕,關(guān)注小編獲得更多的Python免費(fèi)課程。
總結(jié)
以上是生活随笔為你收集整理的python多态_Python基础入门18节-第十六节 面向对象如何理解多态的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 输卵管再通不孕
- 下一篇: 成都大熊猫基地观光车随下随上吗