我根据环境温度计算了不同位置物体的温度。我有两种实施方式。在BodyA
中,每个位置的温度是该类的属性;而在BodyB
,有一个属性pos_t
,这是一个字典,每个位置的温度只是字典中的一个键值对。
class BodyA:
def __init__(self, ambient_temperature)
self.amb_t = ambient_temperature
self.pos1_t = self.amb_t + 1
self.pos2_t = self.amb_t * 2
self.pos3_t = self.pos1_t + self.pos2_t - 5
class BodyB:
def __init__(self, ambient_temperature)
self.amb_t = ambient_temperature
self.pos_t = dict()
self.pos_t['pos1'] = self.amb_t + 1
self.pos_t['pos2'] = self.amb_t * 2
self.pos_t['pos3'] = self.pos_t['pos1'] + self.pos_t['pos2'] - 5
在实际情况中,最多有10个职位,我想从中建立儿童班。有些儿童班没有某些职位。例如,某些孩子可能会遗漏pos2
。
能不能让我知道,哪个设计在OOP和效率方面更好。谢谢。
用于存储某些自定义标识符的数据结构,这些标识符可能或可能存在为dict
清楚地调用。由于类属性也存储在内部字典中,因此也可以使用第一种方法,但如果没有明确的手写操作而需要实际操作,则成员将需要不同的代码。我怀疑表现无关紧要。如果你发现它很重要,可能会重新设计完全不使用类的数据结构,因为对象创建处理时间可能是相关的。