python 抽象类和接口类
继承有两种用途:
一:继承基类的方法,并且做出自己的改变或者扩展(代码重用)
二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能.
实践中,继承的第一种含义意义并不很大,甚至常常是有害的。因为它使得子类与基类出现强耦合。
继承的第二种含义非常重要。它又叫“接口继承”。
接口继承实质上是要求“做出一个良好的抽象,这个抽象规定了一个兼容接口,使得外部调用者无需关心具体细节,可一视同仁的处理实现了特定接口的所有对象”——这在程序设计上,叫做归一化。
1.做出良好的抽象类,2.规定兼容接口3.调用者可以无需关心具体实现细节,可以一视同仁处理实现特定接口的所有对象。
#做出一个良好的抽象
classPayment(object):
#规定了一个兼容接口
defpay(self):
pass
#微信支付
classWeChatPay(object):
defpay(self,money):
print('微信支付了%s'%money)
#支付宝支付
classAliPay(object):
defpay(self,money):
print('支付宝支付了%s'%money)
#苹果支付
classApplePay(object):
defpay(self,money):
print('苹果支付了%s'%money)
defpay(obj,money):
obj.pay(money)
weixin=WeChatPay()
alipay=AliPay()
applepay=ApplePay()
#调用者无需关心具体实现细节,可以一视同仁的处理实现了特定接口的所有对象
pay(weixin,100)
pay(alipay,200)
pay(applepay,300)
归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合——就好象linux的泛文件概念一样,所有东西都可以当文件处理,不必关心它是内存、磁盘、网络还是屏幕(当然,对底层设计者,当然也可以区分出“字符设备”和“块设备”,然后做出针对性的设计:细致到什么程度,视需求而定)。
1
2依赖倒置原则:
高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该应该依赖细节;细节应该依赖抽象。换言之,要针对接口编程,而不是针对实现编程
以上内容为大家介绍了Python抽象类和接口类,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
猜你喜欢LIKE
相关推荐HOT
更多>>python怎么安装idle
开始->程序->Python2.*/3.*->IDLE(PythonGUI)如此就打开了PythonShell->File->Newwindow(Ctrl+N)就出现了python编辑器编写代码比如p...详情>>
2023-11-09 21:11:47python工具包如何安装
python安装工具包的方式总结一下:1.、在spyder中安装:打开命令窗口:选择Tools下的“opencommandprompt”,输入:pipinstall安装包名字==版本...详情>>
2023-11-09 20:39:21Python写完代码怎么用
python运行有两种方式,一种是在python交互式命令行下运行;另一种是使用文本编辑器,在命令行中直接运行。一、命令行与交互式命令行首先要搞清...详情>>
2023-11-09 16:31:06Python怎么运行shell脚本
Python作为一门脚本语言,有时候需要与shell命令交互式使用,在Python中提供了很多的方法可以调用并执行shell脚本,本文介绍几个简单的方法。一...详情>>
2023-11-09 16:10:05