多态的概念其實不難了解,它是指對不同類型的變量進行相同的操作,它會根據對象(或類)類型的不同而表現出不同的行為。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SMkFWOzUTNkFWZ0gzM4AjMhJTY1cjNihzYxYTZkJmYh9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
事實上,我們經常用到多态的性質,比如:>>> 1 2
3
>>> 'a' 'b'
'ab'
可以看到,我們對兩個整數進行 操作,會傳回它們的和,對兩個字元進行相同的 操作,會傳回拼接後的字元串。也就是說,不同類型的對象對同一消息會作出不同的響應。
相關推薦:《Python視訊教程》
再看看類的例子:class Animal(object):
def __init__(self, name):
self.name = name
def greet(self):
print 'Hello, I am %s.' % self.name
class Dog(Animal):
def greet(self):
print 'WangWang.., I am %s.' % self.name
class Cat(Animal):
def greet(self):
print 'MiaoMiao.., I am %s' % self.name
def hello(animal):
animal.greet()
看看多态的使用:>>> dog = Dog('dog')
>>> hello(dog)
WangWang.., I am dog.
>>>>>> cat = Cat('cat')
>>> hello(cat)
MiaoMiao.., I am cat
可以看到,cat 和 dog 是兩個不同的對象,對它們調用 greet 方法,它們會自動調用實際類型的 greet 方法,作出不同的響應。這就是多态的魅力。
相關推薦:
Python中類的繼承是什麼