我有一个类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
虽然我应该回到这里?我在网上看到的所有例子只有一个作业,他们会返回那个作业。我有三个任务。什么适合回到这里?
答案 0 :(得分:1)
在命名构造函数(工厂方法)中,您应该创建一个要返回的对象。 E.g。
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
请注意,您不需要类成员,并且具有与实例成员同名的类成员是个坏主意。