为什么要用作文?

2024-09-28 21:32:33 发布

您现在位置:Python中文网/ 问答频道 /正文

当我们可以直接向方法添加依赖项时,创建组件并通过它们委托行为的原因是什么?对我来说,后者似乎为改变现有对象的行为打开了大门,从而创建了更松散的耦合?你知道吗

组成/授权:

class Human:
  def __init__(self, legs):
    self._legs = legs

  def run(self):
    self._legs.run()

  def walk(self):
    self._legs.run()

直接向方法注入依赖项:

class Human:
  def run(self, legs):
    legs.run()

  def walk(self, legs):
    legs.walk()

告诉我,我为什么要费心写作文呢?你知道吗


Tags: 对象方法runselfinitdef组件原因
1条回答
网友
1楼 · 发布于 2024-09-28 21:32:33

只有当作文有目的时,你才应该使用它。在您的示例中,它没有任何作用,因为您可以直接调用legs上的方法,而不必为Human费心。你知道吗

扩展您的示例,如果每个Human实例都有自己不同的legs实例,那么组合就有意义了。在这种情况下,您需要跟踪哪个legs属于哪个Human,第一个示例解决了这个问题。你知道吗

相关问题 更多 >