作者AI3767 (AI3767)
站内java
标题Re: [问题] 一个多形的问题
时间Tue May 6 22:26:06 2008
※ 引述《upo (来呀)》之铭言:
: 4. Given the following Java code: [10 points]
:
: 10. interface A { public int getValue();}
: 11. class B implements A {
: 12. public int getValue() { return 1;}
: 13. }
: 14. class C extends B {
: 15. // insert code here16. }
:
: What three code fragments individually at line 15, make used of polymorphism?
: (Choose three)
:
: (A) public void add (C c) {c.getValue();}
: (B) public void add (B b) {b.getValue();}
: (C) public void add (A a) {a.getValue();}
: (D) public void add (A a, B b) {a.getValue();}
: (E) public void add (C c1, C c2) {c1.getValue();}
: (E) public void add (C c1, C c2) {c1.getValue();}
:
: ANS:__ (B), (C), (D)__
: 推 AI3767:真糟糕>< 我还以为是abe... 我得加强一下观念了(泪) 05/04 22:59
: 推 H45:直观啊,参数型态没有 C 的就是 BCD 05/05 00:22
: 推 silver8250:因为只有 BCD 可以在 runtime 时期决定parameter型别 05/05 22:59
: 推 scarsnight:因为C没有实作getValue() interface,是由其父类别实作 05/06 16:20
我还在混乱中 Orz
C 没有实作但继承 B, 所以在 (E) 中其实是用了 B 的吧
(SCJP Java5 2.2)
B 实作了, 但是 (B) 使用的也算是自己的method
若要说 (B) 的code, 算是 A 的多型利用,
那 (E) 的 code 应该也算是啊?
总觉得 B 算是多型利用的话, C也算是耶 @@a
至少... C 继承自B, 在使用 getValue() 时, 就算是多型存取
所以 (A) (E) 不该被排除吧?
--
这篇我删文重发, 因为发现把站内文章,误发为看板文章 orz
感谢原本有推文的 H45 大大谅解^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.105.166
1F:推 qrtt1:这里没有转信 05/06 22:28
2F:→ AI3767:噗XD 是喔...是後来取消了啊? 我还吓到说QQ 05/06 22:42
3F:推 qrtt1:即使有转也无所谓啊, 问问题是好事 05/06 22:47
4F:→ AI3767:我查了SCJP Java5英文版,和中文版页数相同,2-2的p.86~88,希 05/06 23:04
5F:→ AI3767:望我没误解它的意思@@ 在 05/06 23:09