Python学习之路:多态实例
生活随笔
收集整理的這篇文章主要介紹了
Python学习之路:多态实例
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
多態(tài)性(polymorphisn)是允許你將父對象設(shè)置成為和一個或更多的他的子對象相等的技術(shù),賦值之后,父對象就可以根據(jù)當(dāng)前賦值給它的子對象的特性以不同的方式運作。簡單的說,就是一句話:允許將子類類型的指針賦值給父類類型的指針。 那么,多態(tài)的作用是什么呢?我們知道,封裝可以隱藏實現(xiàn)細(xì)節(jié),使得代碼模塊化;繼承可以擴展已存在的代碼模塊(類);它們的目的都是為了——代碼重用。而多態(tài)則是為了實現(xiàn)另一個目的——接口重用!多態(tài)的作用,就是為了類在繼承和派生的時候,保證使用“家譜”中任一類的實例的某一屬性時的正確調(diào)用。 Pyhon 很多語法都是支持多態(tài)的,比如 len(),sorted(), 你給len傳字符串就返回字符串的長度,傳列表就返回列表長度。 class Animal(object):def __init__(self, name): # Constructor of the classself.name = namedef talk(self): # Abstract method, defined by convention onlyraise NotImplementedError("Subclass must implement abstract method")class Cat(Animal):def talk(self):print('%s: 喵喵喵!' %self.name)class Dog(Animal):def talk(self):print('%s: 汪!汪!汪!' %self.name)def func(obj): #一個接口,多種形態(tài)obj.talk()c1 = Cat('小晴')d1 = Dog('李磊')func(c1)func(d1)
?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaobai005/p/8335407.html
總結(jié)
以上是生活随笔為你收集整理的Python学习之路:多态实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言基础知识_结构体访问,共同体,枚举
- 下一篇: 滚动字幕Marquee