python基礎(chǔ)之多態(tài)
多態(tài)
多態(tài):顧名思義九四多種形態(tài)\狀態(tài),就是同一種行為對不同的子類[對象]有不同的行為表現(xiàn)
要想實現(xiàn)多態(tài) 必須有兩個前提需要遵守:
1.必須存在一種繼承關(guān)系,必須發(fā)生在父類和子類之間
2.重寫:子類重寫父類的方法
多態(tài)的優(yōu)點:
多態(tài)可以增加程序的靈活性
增加程序的擴展性
只要具備某種方法,無論繼承者是誰,定義者是誰,都可以去調(diào)用
案例演示
class Animal: def say_who(self): ''' 父類【基類】 :return: ''' print('你是一個動物') pass pass class Duck(Animal): ''' 繼承于animal這個類 鴨子類【子類】派生類 ''' def say_who(self): ''' 在這里重寫父類的方法 :return: ''' print('我是鴨鴨丫') pass class Dog(Animal): def say_who(self): print('只是一只汪罷了') pass pass duck1=Duck() duck1.say_who() dog=Dog() dog.say_who()
class Animal: def say_who(self): ''' 父類【基類】 :return: ''' print('你是一個動物') pass pass class Duck(Animal): ''' 繼承于animal這個類 鴨子類【子類】派生類 ''' def say_who(self): ''' 在這里重寫父類的方法 :return: ''' print('我是鴨鴨丫') pass class Dog(Animal): def say_who(self): print('只是一只汪罷了') pass pass # 使用統(tǒng)一的函數(shù)去調(diào)用 def commonInvoke(obj): ''' 同意調(diào)用的方法 :param obj: 對象的實例 :return: ''' obj.say_who() # duck1=Duck() # duck1.say_who() # dog=Dog() # dog.say_who() listObj=[Duck(),Dog()] for item in listObj: ''' 循環(huán)調(diào)用函數(shù) ''' commonInvoke(item) #通過函數(shù)統(tǒng)一調(diào)用
增加新類完全無需修改代碼,只需將需要的代碼添加上就是了
# 案例演示 class Animal: def say_who(self): ''' 父類【基類】 :return: ''' print('你是一個動物') pass pass class Duck(Animal): ''' 繼承于animal這個類 鴨子類【子類】派生類 ''' def say_who(self): ''' 在這里重寫父類的方法 :return: ''' print('我是鴨鴨丫') pass class Dog(Animal): def say_who(self): print('只是一只汪罷了') pass pass class Bird(Animal): def say_who(self): print('門前大橋下,停著一只鳥') # 使用統(tǒng)一的函數(shù)去調(diào)用 def commonInvoke(obj): ''' 同意調(diào)用的方法 :param obj: 對象的實例 :return: ''' obj.say_who() # duck1=Duck() # duck1.say_who() # dog=Dog() # dog.say_who() listObj=[Duck(),Dog(),Bird()] for item in listObj: ''' 循環(huán)調(diào)用函數(shù) ''' commonInvoke(item) #通過函數(shù)統(tǒng)一調(diào)用
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
何用Python實現(xiàn)一個 “系統(tǒng)聲音” 的實時律動掛件
這篇文章將給大家介紹了如何用 Python 實現(xiàn)一個 “系統(tǒng)聲音” 的實時律動掛件,采集后直接實時地在電腦上繪制波形動畫,主要是用來作為 FL Studio 播放時的一個桌面小掛件,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-01-01