得墨忒耳定律:论证方法澄清

时间:2018-03-20 19:46:45

标签: oop coupling

因此,demeter定律主要是为了减少模块之间的耦合。我正在写一些例子,以确保我在概念上理解这个概念。我写的代码如下,并且只是想澄清一下。根据我的理解,首选类的集合包括:类car的实例变量类,方法foo的参数类或类car本身。由于第3条线路通过汽车类本身的方法对卡车进行操作,我的理解是这坚持了德米特定律。任何人都可以给我澄清吗?

public void foo( vehicle car ) {
    vehicle truck = car;
    truck.do(truck);
}

上面的代码不是

1 个答案:

答案 0 :(得分:0)

是的,它确实违反了得墨忒耳的法律。它通过卡车到达car.do(),使用卡车(参数汽车的别名)作为参数。汽车正在作为参数传递自己