[问题] 宣告的子类别无法呼叫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