因此,我正在用Python编写基于OOP的程序,我想问:创建对象的最佳位置在哪里?假设我的程序中有这个对象。
class Player(Item):
def __init__(self,Name,Diff,Money,Experience):
self.name = Name
self.diff = Diff
self.money = Money
self.experience = Experience
但是我也有主打游戏。我应该在类游戏中还是在所有类之外创建玩家对象,以使其具有全局性?我不知道应该在哪里制作它,这样我就可以在需要时访问它。
答案 0 :(得分:0)
您正在谈论在哪里定义一个类;这是一个风格问题。让我们看看Style Guide for Python Code (PEP 8)对此有何评论:
用两个空行包围顶级函数和类定义。
好吧...不太有用,因为现在我必须使用自己的知识来回答问题。嗯...
嗯,我想这取决于您要说的内容。如果你有这个:
class Game:
class Player:
def __init__(self, name, difficulty, money=0, experience=0):
self.name = name
self.difficulty = difficulty
self.money = money
self.experience = experience
然后,这表明如果您更改Game
实现,则必须更改Player
实现,并且不更改{{1 }}实现;即它们紧密耦合。因此,代码可能会像这样进行:
Player
这不是编程的好方法;一切都绑在一起,这是一个很大的纠结。是什么原因造成的?相反,我会有更多类似的东西:
Game
这是粗糙且设计不当的,但您可以理解。每件事都负责处理自己的东西。确实,世界应该负责检查是否所有玩家都已死亡,但是由于它没有单独存储玩家,因此我无法在示例中说明这一点。