如何塑造"家庭和其他人"事情?

时间:2016-07-27 11:20:33

标签: python django oop

我需要为家庭,父母,孩子和普通人实体建模。我怎样才能做到这一点? 显然,我可以创建4个甚至5个不同的classess:家庭,2个父母双方,一个儿童和一个人。 但我认为这种方法存在冗余。另一方面,如果我引入一个字段" type"无论是家庭,母亲等等,我都必须为家庭和其他东西创建可空的字段参考。

你的建议?

1 个答案:

答案 0 :(得分:2)

在这种情况下,我认为只有两个类是有意义的,例如

class Person:
    def __init__(self, name):
        self.name = name

class Family:
    def __init__(self):
        self.children = []
        self.parents = []

然后Family.childrenFamily.parents可能是Person个对象的列表,您可以在其中拥有任意数量的孩子或父母。

如果您想存储关系,也可以向Person添加更多属性,例如Person可以包含.siblings.parents或{{1}的成员}}