[問題] 宣告的子類別無法呼叫interface裡的方法

作者: mauve (mauve是淡紫色)   2018-06-15 14:41:09
這是朋友的作業,我試著拿來自己做
遇到問題我也沒辦法問他,因為他不會
題目規定要建立一個父類為物件,然後宣告其子類別
最後必須要呼叫子類別介面實作的方法
這是題目:
http://i.imgur.com/Q1005pR.jpg
我寫出來的程式:
http://i.imgur.com/BCPhf31.jpg
主要是用父類(Shape) 建立物件
然後宣告成其子類(Rectangle)
其子類(Rectangle) 有實作iPerimeter
但是父類(Shape) 沒有
因此編譯的時候沒辦法呼叫Rectangle的方法(perimeter)
因為Shape裡面沒有定義該方法(perimeter)
那這樣,我要用什麼方式才能依照題意建立基於Shape的Rectangle物件,去呼叫Rectangle的方法perimeter?
還是我哪裡會錯意或是我根本就寫錯了?
謝謝大家!
作者: ssccg (23)   2018-06-15 14:51:00
比較合理的是Shape也實作iPerimeter(不用實作perimeter)這是題目沒設計好,如果完全不更動題目,那就必須在5那步檢查並cast成可以呼叫perimeter的類別/介面再來呼叫
作者: pttworld (批踢踢世界)   2018-06-15 15:01:00
出題目沒寫清楚
作者: swpoker (swpoker)   2018-06-15 17:55:00
轉型啊
作者: THEWORLDS (天下)   2018-06-19 12:10:00
題目出得不錯啦,讓你知道沒有轉型不能用JAVA有個動態繫結可以自動呼叫子類別方法可以去看看

Links booklink

Contact Us: admin [ a t ] ucptt.com