1. 程式人生 > >python介面類,抽象類

python介面類,抽象類

# 支付方式不夠統一
class QQpay:
    def pay(self, money):
        print('QQ支付了%s錢' % money)

class Alipay:
    def pay(self, money):
        print('支付寶支付了%s錢' % money)

a1 = QQpay()
a1.pay(100)
b1 = Alipay()
b1.pay(200)
# 統一支付方式:歸一化設計

class QQpay:
    def pay(self, money):
        print('
QQ支付了%s錢' % money) class Alipay: def pay(self, money): print('支付寶支付了%s錢' % money) def pay(obj, money): # 歸一化設計 obj.pay(money) a1 = QQpay() b1 = Alipay() pay(a1, 100) pay(b1, 200)
# 狗哥,調離了部門,此時來了一個野生程式設計師。

class QQpay:
    def pay(self, money):
        print
('QQ支付了%s錢' % money) class Alipay: def pay(self, money): print('支付寶支付了%s錢' % money) class Wechat: def fuqian(self,money): print('微信支付了%s錢' % money) def pay(obj, money): # 歸一化設計 obj.pay(money) a1 = QQpay() b1 = Alipay() pay(a1, 100) pay(b1, 200) c1
= Wechat() c1.fuqian(300)
# 介面類:就是制定一個規則,讓其他人按照我的規則去寫程式。 約定俗稱規範,但是這個有人還不按照這個執行。
class payment:
    def pay(self,money):
        pass


class QQpay(payment):
    def pay(self, money):
        print('QQ支付了%s錢' % money)


class Alipay(payment):
    def pay(self, money):
        print('支付寶支付了%s錢' % money)


class Wechat(payment):
    def fuqian(self, money):
        print('微信支付了%s錢' % money)

def pay(obj, money):  # 歸一化設計
    obj.pay(money)
# 強制指定規範:
from abc import ABCMeta, abstractmethod
class payment(metaclass=ABCMeta):
    @abstractmethod
    def pay(self,money):
        pass
class QQpay(payment):
    def pay(self, money):
        print('QQ支付了%s錢' % money)

class Alipay(payment):
    def pay(self, money):
        print('支付寶支付了%s錢' % money)


class Wechat(payment):
    def fuqian(self, money):
        print('微信支付了%s錢' % money)

def pay(obj, money):  # 歸一化設計
    obj.pay(money)

w = Wechat()

總結:

介面類其實就是遵循我的一些程式碼規範而做的