Python学习之路:多态实例
生活随笔
收集整理的這篇文章主要介紹了
Python学习之路:多态实例
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
多態(tài)性(polymorphisn)是允許你將父對象設(shè)置成為和一個(gè)或更多的他的子對象相等的技術(shù),賦值之后,父對象就可以根據(jù)當(dāng)前賦值給它的子對象的特性以不同的方式運(yùn)作。簡單的說,就是一句話:允許將子類類型的指針賦值給父類類型的指針。 那么,多態(tài)的作用是什么呢?我們知道,封裝可以隱藏實(shí)現(xiàn)細(xì)節(jié),使得代碼模塊化;繼承可以擴(kuò)展已存在的代碼模塊(類);它們的目的都是為了——代碼重用。而多態(tài)則是為了實(shí)現(xiàn)另一個(gè)目的——接口重用!多態(tài)的作用,就是為了類在繼承和派生的時(shí)候,保證使用“家譜”中任一類的實(shí)例的某一屬性時(shí)的正確調(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): #一個(gè)接口,多種形態(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语言基础知识_结构体访问,共同体,枚举
- 下一篇: Python编程:pycharm开发工具