作者mauve (mauve是淡紫色)
看板java
标题[问题] 宣告的子类别无法呼叫interface里的方法
时间Fri Jun 15 14:41:09 2018
这是朋友的作业,我试着拿来自己做
遇到问题我也没办法问他,因为他不会
题目规定要建立一个父类为物件,然後宣告其子类别
最後必须要呼叫子类别介面实作的方法
这是题目:
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://webptt.com/cn.aspx?n=bbs/java/M.1529044874.A.437.html
1F:→ ssccg: 比较合理的是Shape也实作iPerimeter(不用实作perimeter) 06/15 14:51
我想应该就是这样吧... 这老师题目没写清楚不是第一次了
2F:→ ssccg: 这是题目没设计好,如果完全不更动题目,那就必须在5那步检 06/15 14:52
3F:→ ssccg: 查并cast成可以呼叫perimeter的类别/介面再来呼叫 06/15 14:53
4F:→ pttworld: 出题目没写清楚 06/15 15:01
5F:推 swpoker: 转型啊 06/15 17:55
这麽一说转型好像也行一开始有想到但没想那麽深,谢谢你们。
※ 编辑: mauve (110.28.225.205), 06/15/2018 19:23:15
※ 编辑: mauve (110.28.225.205), 06/15/2018 19:27:32
6F:推 THEWORLDS: 题目出得不错啦,让你知道没有转型不能用 06/19 12:10
7F:→ THEWORLDS: JAVA有个动态系结可以自动呼叫子类别方法可以去看看 06/19 12:10