python -------继承 接口类

Posted 向日葵的部落

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python -------继承 接口类相关的知识,希望对你有一定的参考价值。

# 单继承 *****
    # 先抽象再继承,几个类之间的相同代码抽象出来,成为父类
    # 子类自己没有的名字,就可以使用父类的方法和属性
    # 如果子类自己有,一定是先用自己的
    # 在类中使用self的时候,一定要看清楚self指向谁
# 多继承 ***
    # 新式类和经典类:
        # 多继承寻找名字的顺序 : 新式类广度优先,经典类深度优先
        # 新式类中 有一个类名.mro方法,查看广度优先的继承顺序
        # python3中 有一个super方法,根据广度优先的继承顺序查找上一个类

-----------------------------------接口类------------------------------------------------------------

# java : 面向对象编程
# 设计模式   —— 接口
# 接口类 : python原生不支持
# 抽象类 : python原生支持的
from abc import abstractmethod,ABCMeta
class Payment(metaclass=ABCMeta):  # 元类 默认的元类 type
#metaclass =ABCMeta 意味着下面要写一个规范类。
    @abstractmethod
    def pay(self,money):pass   # 没有实现这个方法
# 规范 :接口类或者抽象类都可以
# 接口类 支持多继承,接口类中的所有的方法都必须不能实现 —— java
# 抽象类 不支持多继承,抽象类中方法可以有一些代码的实现 —— java
class Wechat(Payment):
    def pay(self,money):
        print(\'已经用微信支付了%s元\'%money)

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

class Applepay(Payment):
    def pay(self,money):
        print(\'已经用applepay支付了%s元\' % money)

def pay(pay_obj,money):  # 统一支付入口
    pay_obj.pay(money)

# wechat = Wechat()
# ali = Alipay()
app = Applepay()
# wechat.pay(100)
# ali.pay(200)

 

 

面向对象资料地址

https://www.cnblogs.com/Eva-J/articles/7293890.html

 

以上是关于python -------继承 接口类的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 onSaveInstanceState 在我的片段上保存和恢复接口

从父片段到选项卡片段的接口侦听器不起作用

Flask 编写http接口api及接口自动化测试

与另一个片段通信的片段接口

python之路之前没搞明白4面向对象(封装)

从片段访问父活动的数据