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

看板java作者 (mauve是淡紫色)時間6年前 (2018/06/15 14:41), 6年前編輯推噓2(205)
留言7則, 4人參與, 6年前最新討論串1/1
這是朋友的作業,我試著拿來自己做 遇到問題我也沒辦法問他,因為他不會 題目規定要建立一個父類為物件,然後宣告其子類別 最後必須要呼叫子類別介面實作的方法 這是題目: 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? 還是我哪裡會錯意或是我根本就寫錯了? 謝謝大家! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.110.30.93 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1529044874.A.437.html

06/15 14:51, 6年前 , 1F
比較合理的是Shape也實作iPerimeter(不用實作perimeter)
06/15 14:51, 1F
我想應該就是這樣吧... 這老師題目沒寫清楚不是第一次了

06/15 14:52, 6年前 , 2F
這是題目沒設計好,如果完全不更動題目,那就必須在5那步檢
06/15 14:52, 2F

06/15 14:53, 6年前 , 3F
查並cast成可以呼叫perimeter的類別/介面再來呼叫
06/15 14:53, 3F

06/15 15:01, 6年前 , 4F
出題目沒寫清楚
06/15 15:01, 4F

06/15 17:55, 6年前 , 5F
轉型啊
06/15 17:55, 5F
這麼一說轉型好像也行一開始有想到但沒想那麼深,謝謝你們。 ※ 編輯: mauve (110.28.225.205), 06/15/2018 19:23:15 ※ 編輯: mauve (110.28.225.205), 06/15/2018 19:27:32

06/19 12:10, 6年前 , 6F
題目出得不錯啦,讓你知道沒有轉型不能用
06/19 12:10, 6F

06/19 12:10, 6年前 , 7F
JAVA有個動態繫結可以自動呼叫子類別方法可以去看看
06/19 12:10, 7F
文章代碼(AID): #1R8r-AGt (java)
文章代碼(AID): #1R8r-AGt (java)