假设我有两个类:Water和Substance。一个或多个Substance可以在Water中溶解;Water实例具有包含Substance实例列表的substances属性。Substance的扩散常数取决于它所溶解的Water的属性以及Substance本身的一些属性。然后,我应该在Water上使用Water的一个实例作为它的属性来创建一个Substance方法,还是应该将该方法添加到Substance,其中Water是它的参数?还是有一个完全不同的方法?
发布于 2020-09-10 13:53:26
我假设Water继承了Substance的一些东西。因此,您可以在每个Substance中有一个Substance,也可以在一个diffuse函数中使用一个或多个Substance。
编辑:
class Water:
def diffuse(self, *args):
#check if args is greater 0 or None and then iterate and apply diffusion_constants
class Substance:
diffusion_constant = 0 #base constant
class Sirup(Substance):
diffusion_constant = 3
#somewhere later then
corn_sirup = Sirup()
sugary_sirup = Sirup()
water = Water()
water.diffuse(corn_sirup, sugary_sirup)编辑:由于注释,我更改了代码。Python有鸭类型,所以只要你的物质有一个diffusion_constant属性,就可以访问它,不管它是什么。这样就可以了
https://stackoverflow.com/questions/63830829
复制相似问题