python3中继承的组合

时间:2018-07-05 12:29:06

标签: python-3.x design-patterns

我有一些库,该库可以支持所有支持特定方法集的对象:

- param1: np.ndarray
- method1() -> np.ndarray
- ...

通常,我将使用这些方法编写一些基类,并让所有可以提供这些方法的类都从该基类继承。 但是,我目前无法这样做:

  • 我无法修改所有受支持的类
  • 我不想为此写任何包装器
  • 我必须为每种类型编写一个额外的基类

是否可以编写类似接口的内容:

class interface1:
    @property
    @abc.abstractmethod
    def param1(self) -> np.ndarray:
        pass
class interface2:
    @abc.abstractmethod
    def method1(self) -> np.ndarray:
        pass

将它们与提供的对象进行匹配,以确保它们支持这些方法?

0 个答案:

没有答案