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