这里是清安,学习了类与异常后,基本上已经可以上手写代码了,不过本篇的多态也是可以学习的,知识不嫌多,学习了后续需要用到的时候也可以更加的得心应手。
多态的作用是什么?
让具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容(功能)的函数。
多态的特点又是什么?
1、只关心对象的实例方法是否同名,不关心对象所属的类型;
2、对象所属的类之间,继承关系可有可无;
3、多态的好处可以增加代码的外部调用灵活度,让代码更加通用,兼容性比较强;
4、多态是调用方法的技巧,不会影响到类的内部设计。
应用
classqingan():
defpay(self):
print('买了包子')
classwangwu():
defpay(self):
print('买了饼')
classlisi():
defpay(self):
print('买了炒粉')
classzhifubao():
defmaidan(self, obj):
print('买了什么?')
obj.pay()
z = qingan()
l = lisi()
w = wangwu()
fukuan=zhifubao()
fukuan.maidan(z)
fukuan.maidan(l)
我创建了四个类,三个是人类,一个是支付类,在支付类中用参数的方式传递类中的方法,达到调用的效果,这就是多态。多态有很多的用法,这只是举例的一种。zhifubao类中的maidan方法中的参数是可以更改的,不是固定的。你可以随意定义。通过实例化的方式,实例化三个人类,再实例化zhifubao类,通过maidan的方法,传值的方式,调用。看看结果。
买了什么? 买了包子 买了什么? 买了炒粉