Re: [問題] 關於物件產生的繼承問題
※ 引述《lightening (認清事實 !_!)》之銘言:
: 有三個class A B C
: C繼承B B繼承A
: 現在在main method內產生物件
: A ob1 = new C();
: 請問一下 這個ob1的物件與A跟C的關係為何?
貓(C)->貓類(B)->動物(A)
動物(A) 小花(ob1) = new 貓()
所以小花(ob1)是一隻貓(C),牠也是一隻動物(A) (多型)
: ==
: 另一個強制轉型問題
: 如果有另外一個class D 也是繼承A
: 而A內有宣告move method
: 這時候用
: ((D)ob1).move();
: 會出現ClassCastException的例外
: 這個問題好像跟第一個問題有關係
: 我看的這本書寫的不太清楚 Q_Q
: 麻煩大家幫我解答一下 謝謝 > <
同上
狗(D)->動物(A)
((狗)小花).move();
會出現ClassCaseException
是因為貓怎麼可能將他強制轉型成狗呢:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.85.56
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):