我創建了一個實現 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
提交
取消