zoukankan      html  css  js  c++  java
  • 接口类和抽象类

    #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)

  • 相关阅读:
    串口操作
    图片转化成二进制数据、等比缩放
    DSO Framer Control Object 操作word文件
    C#图片存入数据库及其读出显示
    对话框的用法
    C#读取数据库中的表
    将Resource中的图片资源动态绑定到PictureBox中:
    ProgressBar
    C# 操作数据库表和数据库
    操作系统–进程管理
  • 原文地址:https://www.cnblogs.com/648071634com/p/11883927.html
Copyright © 2011-2022 走看看