這篇文章將為大家詳細講解有關python中多態的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
多態:顧名思義九四多種形態\狀態,就是同一種行為對不同的子類[對象]有不同的行為表現
要想實現多態 必須有兩個前提需要遵守:
1.必須存在一種繼承關系,必須發生在父類和子類之間
2.重寫:子類重寫父類的方法
多態的優點:
多態可以增加程序的靈活性
增加程序的擴展性
只要具備某種方法,無論繼承者是誰,定義者是誰,都可以去調用


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
# 使用統一的函數去調用
def commonInvoke(obj):
'''
同意調用的方法
:param obj: 對象的實例
:return:
'''
obj.say_who()
# duck1=Duck()
# duck1.say_who()
# dog=Dog()
# dog.say_who()
listObj=[Duck(),Dog()]
for item in listObj:
'''
循環調用函數
'''
commonInvoke(item) #通過函數統一調用
增加新類完全無需修改代碼,只需將需要的代碼添加上就是了
# 案例演示
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('門前大橋下,停著一只鳥')
# 使用統一的函數去調用
def commonInvoke(obj):
'''
同意調用的方法
:param obj: 對象的實例
:return:
'''
obj.say_who()
# duck1=Duck()
# duck1.say_who()
# dog=Dog()
# dog.say_who()
listObj=[Duck(),Dog(),Bird()]
for item in listObj:
'''
循環調用函數
'''
commonInvoke(item) #通過函數統一調用
關于“python中多態的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。