我创建了一个实现 Measurable 接口的 Motor 类。然后我创建一个名为 motorTemperature 的 Measurable 类型的变量。
如果我...
Measurable motorTemperature = new Motor (x);
motorTemperature 引用的对象是哪个?(电机型还是可测型?
繁花如伊
浏览 67回答 1
1回答
拉莫斯之舞
在这段代码中:Measurable motorTemperature = new Motor(x);我们创建一个 Motor 类型的对象。它是一个电机,并将继续是一个电机。Motor 实现了 Measurable 接口。因此,我们可以将对 Motor 的引用分配给 Measurable 类型的变量(事实上我们这样做了)。这不会改变 Motor 是 Motor 的事实。然而,由于我们现在对电机的唯一参考是这个可测量的,我们对它的唯一访问只能通过可测量的接口来表达什么。我们不能向它询问任何 Motor 属性,也不能要求它执行未定义为 Measurable 中的方法的 Motor 动作。PS motorTemperature 是否是可测量的好名称是一个单独的问题。如果电机唯一可用的测量值是它的温度,那可能是有道理的。如果我们可以调用“motorTemperature.getRPM()”,那么这个名称似乎不太合适。