※ 引述《naturalskyss ()》之銘言:
: 我在書上看到,
: 也就是說如果是 son = father 會出現編譯錯誤,
: 但我在書上看到只要父類別是宣告成抽象類別,
: 也就是 abstract Animal 的話,
: 是不是就可以讓 son = father 成立而不會出現編譯錯誤,
: 還是說跟抽象類別也沒有關係,
的確沒有關係
abstract class 的意思是說,
這個 class 不可以被實體化,
並且可以具有一個 abstract method,
留待繼承此 abstract class 的 class 去 implement
: 但是我在書上的確有看到將 子類別物件 = 父類別物件 的例子,
: 那是在什麼時候,
: 或是什麼條件下可以讓 子類別物件 = 父類別物件呢?
這樣寫的話...應該是不可能
除非是 Child child = (Child)parent;
多了一個強制轉型,這樣子編譯的確會過,
但如果 parent 所 reference 的物件其實不是 Child,
那麼在轉型的時候產生 Casting Exception (正確的名稱我忘了)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.65.14
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):