Re: [問題] 一個多形的問題
※ 引述《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
推
05/06 22:28, , 1F
05/06 22:28, 1F
→
05/06 22:42, , 2F
05/06 22:42, 2F
推
05/06 22:47, , 3F
05/06 22:47, 3F
→
05/06 23:04, , 4F
05/06 23:04, 4F
→
05/06 23:09, , 5F
05/06 23:09, 5F
討論串 (同標題文章)