gpt4 book ai didi

python - 一对一关系类

转载 作者:行者123 更新时间:2023-12-01 06:13:24 27 4
gpt4 key购买 nike

我想要一个名为 ProjectDirectory 的类和一个名为 MetaDirectory 的类。每个项目都有一个包含一些元数据的MetaDirectory。像这样编写类是好方法吗:

class ProjectDirectory(object):
def __init__(self, directory=None):
self.directory = directory
self.meta_directory = MetaDirectory(self)
def __repr__(self):
return self.directory

class MetaDirectory(object):
def __init__(self, project_directory=None):
self.project_directory = project_directory
self.directory = "%s/.meta/" % project_directory

ProjectDirectory 具有对 MetaDirectory 的引用,而 MetaDirectory 具有对 ProjectDirectory 的引用。

还有其他解决方案吗?或者这个解决方案很好?

最佳答案

这完全没问题,但由于现在类之间存在一对一的连接,因此您实际上可以合并它们。如果除了 ProjectDirectory 之外还有多种类型的目录,则可以从 MetaDirectory 继承。

但如果由于某种原因你不想这样做,上面的设计就可以了。它本身并没有什么问题。

关于python - 一对一关系类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4579262/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com