接口类和抽象类

#Java面向对象编程
#设计模式-----接口类
#接口类 ---原生不支持的
#抽象类 ---是python原生支持的

#
# class Wechat:
# def pay(self,money):
# self.money=money
# print("已经用微信支付了%s元"%money)
#
# class Alipay:
# def pay(self,money):
# self.money=money
# print("已经用支付宝支付了%s元" % money)
# wechat=Wechat()
# wechat.pay(100)
# alipay=Alipay()
# alipay.pay(500)

from abc import abstractclassmethod ,ABCMeta
class Payment(metaclass=ABCMeta):
@abstractclassmethod #元类 默认的元类
def pay(self,money):
pass #没有实现这个方法
#规范,接口类,或者抽象类
#接口类支持多继承,接口类中的方法必须不能实现--java
#抽象类不支持多继承 抽象类中可以有一些方法的实现--java


class Wechat(Payment):
def pay(self,money):
self.money=money
print("已经用微信支付了%s元"%money)

class Alipay(Payment):
def pay(self,money):
self.money=money
print("已经用支付宝支付了%s元" % money)

class Jingdong(Payment):
def pay(self,money):
self.money=money
print("已经用支付宝支付了%s元" % money)

def pay(obj_pay,money):
obj_pay.pay(money)
wechat=Wechat()
alipay=Alipay()
jingdong=Jingdong()
pay(wechat,100)
pay(jingdong,50)

posted @ 2019-11-18 18:18  小王要变强  阅读(98)  评论(0编辑  收藏  举报