python 接口类、抽象类、多态
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python 接口类、抽象类、多态,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1486字,纯文字阅读大概需要3分钟。
内容图文
参考https://www.cnblogs.com/Fantac/p/11481114.html
接口类和抽象类总结
在python中没有接口类,但有抽象类;abc模块中的metaclass = ABCMeta,@abstractmethod它的本质是做代码的规范用的,希望子类中能实现父类名字完全一样的方法
接口类和抽象类:
从java的角度上看是有区别的,java本来就支持单继承所以就有了抽象类;java没有多继承,所以为了接口隔离原则,设计了接口这个概念,支持多继承了
而python它既支持单继承也支持多继承,所以对于接口类和抽象类的区别就不会那么明显了,甚至在python中没有内置接口类
多态
多态指的是一类事物有多种形态
python天生支持多态
from abc import abstractmethod,ABCMeta class Payment(metaclass=ABCMeta): #支付方式类 @abstractmethod def pay(self,money): pass class Wechat(Payment): #支付方式---微信支付 def pay(self,money): print('已经用了微信支付了%s元'%money) class Alipay(Payment): #支付方式---支付宝支付 def pay(self,money): print('已经用了支付宝支付了%s元'%money) class Apple(Payment): #支付方式---苹果支付 def pay(self,money): print('已经用了支付宝支付了%s元'%money)
多态性
就是虽然是一类东西但是它们执行的是相同的方法但是做的是不同的事,比如微信它用的是微信支付、支付宝它用的是支付宝支付、苹果支付它用的是苹果支付...
鸭子类型
python语言里面有一个鸭子类型的概念,而在某些其他的属于强类型语言,用的是多态
鸭子类型:不崇尚根据继承所得来的相似,我只是自己实现我自己的代码就可以了,如果有两个类它们刚好相似,并不产生父类的子类的兄弟关系,那这就是鸭子类型。像list、tuple这种相似,是自己写代码的时候约束的,而不是通过父类约束的
内容总结
以上是互联网集市为您收集整理的python 接口类、抽象类、多态全部内容,希望文章能够帮你解决python 接口类、抽象类、多态所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。