0

我有一个类Node,我希望它有多个构造函数。

我在网上阅读有关工厂方法的信息,显然,这是实现构造函数的最简洁的 Pythonic 方式。到目前为止,我的课程如下所示:

class Node(object):
  element = None
  left = None
  right = None

  def __init__(self, element):
    self.element = element

  @classmethod
  def tree(cos, element, left, right):
    self.element = element
    self.left = left
    self.right = right
    # return here

我应该回到这里做什么?我在网上看到的所有例子都只有一个作业,他们会返回那个作业。我有三个任务。什么适合返回这里?

4

1 回答 1

1

在命名构造函数(工厂方法)中,您应该创建一个要返回的对象。例如

class Node(object):
    def __init__(self, element):
        self.element = element
        self.left = self.right = None

    @classmethod
    def tree(cls, element, left, right):
        node = cls(element)
        node.left = left
        node.right = right
        return node

请注意,您不需要类成员,并且具有与实例成员同名的类成员是一个坏主意。

于 2012-09-08T17:27:23.373 回答