像这样的问题存在,但没有一个像这样,我没有找到完全令人满意的答案.
我正在做一个基于代理的生物模型.假设我有一类A类细胞和B类细胞.它们按照时钟老化.假设当A类型的单元格达到某个年龄时,它将更改为B类型的单元格.
我有一个细胞库存.我不想只创建新的B单元格,并将它们添加到库存中,并将A单元格保留在清单中.
这似乎有效,但它安全吗?
class B(object):
pass
class A(object):
def changeToB(self):
self.__class__ = B
Run Code Online (Sandbox Code Playgroud)
或者,有更好的方法吗?
虽然对于口译员来说可能是安全的,但对于试图了解正在发生的事情的人来说肯定是不安全的.
与生物细胞相比,很难找到比对象设计更自然的映射,并且您正试图丢弃那些自然存在的东西.细胞具有年龄和各种机制作为年龄的函数打开和关闭.在世界范围内,成骨细胞不会脱离存在而骨细胞取而代之,而是细胞保留其"身份",但根据年龄等状态值表现不同.
如果我编写这样的模型,我当然会把这些考虑因素纳入对象模型中.
归档时间: |
|
查看次数: |
184 次 |
最近记录: |