1. https://stackoverflow.com/questions/2124190/how-do-i-implement-interfaces-in-python
  2. https://stackoverflow.com/questions/372042/difference-between-abstract-class-and-interface-in-python
  3. http://www.cnblogs.com/allen2333/p/8878542.html

总结

  1. 没有。在Python中没必要使用类似Java的interface。因为Python里有多继承和使用鸭子类型。
  2. 在Python中,协议就是接口。例如上下文管理协议,只要实现了对应的_enter_, __exit__方法就实现了这个上下文管理协议。
  3. Java中的接口是抽象类的特殊情况,抽象类:对一类事物的抽象。接口:对某一行为抽象。Java中的接口里面全部都是抽象方法。
  4. 在Python中,可以用抽象类实现接口
from abc import ABCMeta,abstractmethod

class Payment(metaclass=ABCMeta):
    @abstractmethod                 #调用@abstractmethod规定子类必须有pay方法
    def pay(self,money):
        pass


class Wechatpay(Payment):
    def pay(self,money):
        print('微信支付了%s元'%money)


obj = Wechatpay()

相关文章:

  • 2022-01-21
  • 2021-07-05
  • 2021-11-27
  • 2021-08-04
  • 2021-07-26
  • 2021-10-19
  • 2022-12-23
  • 2022-02-23
猜你喜欢
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
  • 2021-07-20
  • 2021-12-10
  • 2021-06-18
  • 2021-04-19
相关资源
相似解决方案