其他面向对象正菜:
面向对象之封装
面向对象之继承
什么多态?
多态简而言之就是同一个行为具有多个不同表现形式或形态的能力。
举个例子:在商店买东西的时候,我们可以支付宝支付,微信支付,苹果支付。客户支付这个行为就表现出多态,为了满足客户的需求,这几个支付的接口都要有,想用支付宝支付的,用支付宝,想用苹果支付的用苹果支付,想用微信支付的,用微信支付。这就是一个行为表现出多种形态。
代码示例:
class Pay(object):
def pay(self, money): pass
class Alipay(Pay):
def pay(self, money):
print("支付宝支付了{}元".format(money))
class Applepay(Pay):
def pay(self, money):
print("apple pay 支付了{}元".format(money))
class Wechat(Pay):
def pay(self,money):
print("微信支付了{}元".format(money))
class Person(object):
def consumption(self, pay, money):
pay.pay(money)
alipay = Alipay()
apple_pay = Applepay()
wechat = Wechat()
person = Person()
# 用支付宝支付
person.consumption(alipay,1000)
#用苹果支付
person.consumption(apple_pay,2000)
#用微信支付
person.consumption(wechat,3000)
'''
运行结果:
支付宝支付了1000元
apple pay 支付了2000元
微信支付了3000元
'''
总结:多态的好处我相信大家心中也略知一二了,可以看到这段代码,如果我是消费者,支付方式,我可以选择多种,这便形成了多态。