假设我有“披萨”课:
方案1:
class Pizza:
def __init__(self, tools):
self.tools = tools
self.slices = []
def cut(self, slices: int):
self.slices = self.tools.pizza_cutter(slices=slices)
def eat(self, slices: int):
if len(self.slices) => slices:
diff = len(self.slices) - slices
self.slices[:diff]
else:
print('Not enough slices to eat!')
方案2:
class Pizza:
def __init__(self):
self.slices = []
def cut(self, slices: int, tools):
self.slices = tools.pizza_cutter(slices=slices)
def eat(self, slices: int):
if len(self.slices) => slices:
diff = len(self.slices) - slices
self.slices[:diff]
else:
print('Not enough slices to eat!')
如您所见,它要么在__init__
中加载tools
,要么只在实际使用它的方法中接收tools
实例。你知道吗
我想知道,最好的方法是什么?假设每个循环都有多个创建的Pizza
实例,在这个循环的末尾,所有的Pizza
一般来说,我会决定是否包括在一个类的东西,我会如何描述它。你知道吗
当“和”这个词开始起作用时,我知道我在一门课上投入太多,需要把它分开。在这种情况下,工具不是比萨饼固有的一部分。你不需要工具就可以吃比萨饼。如果没有工具,比萨饼可能很难切,但这并不意味着它就没有比萨饼的味道。你知道吗
考虑到这一点,我建议不要把工具放在你的比萨饼里
相关问题 更多 >
编程相关推荐