python如何抽象成员变量class

python how to abstract the class of member variable

假设我有一个像下面这样的模块

class B:
  def ...
  def ...

class A:
  b: B

  def ...
  def ...

我只用classB作为classA的成员变量

当我尝试为我的业务逻辑抽象这个模块时,我应该怎么做?

  1. 一个大接口,它有 class A 和 class B 的抽象方法
  2. 两个接口,分别有class A和class B的抽象方法
  3. 以上都是错误的。另一种方式

1 和 2 都是正确的方法,但这完全取决于您的应用程序。

我认为,当您的两个 classes 都有独立的工作方式并且是完全不同。

但是,正如您在代码中提到的那样,您在 class A 中继承了 class B。如果您为 class A 创建一个接口,它也将允许你访问class B的方法。所以,这种方法很好。此外,这种方法将缩短代码的长度,从而加快处理速度。

希望这对您做出决定有所帮助。如果需要任何其他说明,请告诉我。