Python面向对象之接口类(抽象类)
生活随笔
收集整理的這篇文章主要介紹了
Python面向对象之接口类(抽象类)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python面向對象之接口類(抽象類):就是制定一個規范。比如定義了一個接口類(抽象類)(他們是不可以進行實例化的,這就是他為什么是制定一個規范的原因)。
他的定義是需要abc模塊,要變的就是他的方法,比如下面的pay方法,
定義好一個抽象類(接口類)Payment,他用裝飾器@abstractmethod將pay方法裝飾
這樣,其他類如果都繼承了Payment方法,其他類中就都需要有一個pay方法,如果沒有就會報錯。就好比,起初我沒有微信支付類,但是如果后續項目需要加微信支付此功能,支付的方法我可以起各種名字。
但是為了統一支付接口,我們繼承抽象類Payment后,我們的支付接口名就必須用pay.這就是接口類(抽象類的用途)from abc import ABCMeta, abstractmethodclass Payment(metaclass=ABCMeta): # 抽象類(接口類)
@abstractmethoddef pay(self): # 制定一個規范passclass Alipay(Payment):def __init__(self, money):self.money = moneydef pay(self):print('使用支付寶花了%s錢' % (self.money,))class Jdpay(Payment):def __init__(self, money):self.money = moneydef pay(self):print('使用京東支付了%s錢' % (self.money,))class Wechatpay(Payment):def __init__(self, money):self.money = moneydef pay(self):print('使用微信支付了%s錢' % (self.money,))w1 = Wechatpay(200)
a1 = Alipay(150)
j1 = Jdpay(100)
w1.pay()
a1.pay()
j1.pay()
?
轉載于:https://www.cnblogs.com/xiao-xue-di/p/9371854.html
總結
以上是生活随笔為你收集整理的Python面向对象之接口类(抽象类)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习 - 文件包处理命令
- 下一篇: 知乎改版api接口之scrapy自动登陆