Re: [問題] 以父類別宣告然後以子類別的建構子new

看板java作者 (james)時間16年前 (2008/03/04 09:01), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/8 (看更多)
※ 引述《qrtt1 (愚人)》之銘言: : ※ 引述《jb0802 (james)》之銘言: : : 想請問在網路上看到或書上看到的code~~常常有這樣的情形 : : Parent p = new son(); : : 父類別 子類別 : : Map m = new HashMap(); : : Link l = new LinkedList(); : : 我知道m和l雖然宣告為父親的,但是是可以使用兒子的方法。 : : 其實應該就是一個兒子的物件,但這樣與 : : HashMap = m = new HashMap(); : : LinkedList l = new LinkedList(); : : 這樣宣告有什麼分別,會有特別的情況需要使用上者嗎 : : 或者純粹只是程式的可讀性,因為只需用到父類別的方法,所以沒必要宣告成子類別 : 忍者 n = new 自來也(); : 忍者 m = new 綱手(); : n.招喚術(); // 文太出現了 : m.招喚術(); // 蝸蝓出現了 : ============================== : 這就是抽象化, 不管子類怎麼實作 : 對於父類知道有招喚術即可. : 你並不用指揮某一個忍者要招喚什麼 (他也不一定會(實作)) : 只要有東西出來就好 XD 還有一點問題~~所以再發另一篇文~~ 這樣與使用 自來也 n = new 自來也(); 所做出來的物件n應該和 忍者 n = new 自來也(); 這兩個應該是一樣的n吧 會有什麼不一樣的地方嗎? 另外,如果兩者一樣,我個人的習慣是 當然是把他宣告成 自來也 n=new 自來也(); 因為這樣不是讓自己比較清楚它是自來也嗎? 有些自來也有且忍者沒有的方法,我也會記得它可以被拿來叫用。 另外一個問題,會使用這樣的原因是因為父類別有abstract的方法 在子類別給實作了才會有這樣的宣告嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.155.150

03/04 21:41, , 1F
virtual table?
03/04 21:41, 1F
文章代碼(AID): #17p9-71z (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 3 之 8 篇):
文章代碼(AID): #17p9-71z (java)