天天看點

Python抽象基類(abc)

文章目錄

  • ​​簡單實作方式​​
  • ​​其他方式​​

簡單實作方式

NotImplementedError: 子類沒有實作父類要求一定要實作的接口。

class A:
    def get(self, key):
        raise NotImplementedError

    def set(self, key, value):
        raise NotImplementedError


class B(A):
    def get(self, key):
        print("!")


if __name__ == '__main__':
    b = B()
    b.get("a")      

其他方式

import abc


class A(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def get(self, key):
        pass

    @abc.abstractmethod
    def set(self, key, value):
        pass

class B(A):
    def get(self, key):
        print(1)

    def set(self, key, value):
        print(2)
if __name__ == '__main__':
    b = B()
    b.get("a")