Python天生支持多态.
- 什么是多态: 一类事务的多种形态.
- 多态的一个例子
class Alipay():
def pay(self,money):
print('用支付宝支付了%s元' % money)
class Applepay():
def pay(self,money):
print('用Applepay支付了%s元' % money)
#由于python是弱类型的语言(可以传任何类型的参数),是动态强类型的语言
def pay( pay_obj, money ): #统一支付入口,归一化设计
pay_obj.pay(money)
pay(Alipay(),100)
pay(Applepay(),1000)
>>>
用支付宝支付了100元
用Applepay支付了1000元
- 举例二
- list和tuple都有len方法
class List:
def __len__(self):pass
class Tuple:
def __len__(self):pass
#tuple和list为鸭子类型
def len(obj):
return obj.__len__()#会去执行实例化对象中的__len__方法
l = List()
len(l)