我需要为家庭,父母,孩子和普通人实体建模。我怎样才能做到这一点? 显然,我可以创建4个甚至5个不同的classess:家庭,2个父母双方,一个儿童和一个人。 但我认为这种方法存在冗余。另一方面,如果我引入一个字段" type"无论是家庭,母亲等等,我都必须为家庭和其他东西创建可空的字段参考。
你的建议?
答案 0 :(得分:2)
在这种情况下,我认为只有两个类是有意义的,例如
class Person:
def __init__(self, name):
self.name = name
class Family:
def __init__(self):
self.children = []
self.parents = []
然后Family.children
和Family.parents
可能是Person
个对象的列表,您可以在其中拥有任意数量的孩子或父母。
如果您想存储关系,也可以向Person
添加更多属性,例如Person
可以包含.siblings
或.parents
或{{1}的成员}}