看板 java 關於我們 聯絡資訊
※ 引述《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 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.51.200
H45:是的,正是如此。只記得會用「招喚術」,不記得怎麼施展招喚術 03/04 04:00
jb0802:那應該也可以用 自來也 n= new 自來也(); 會不一樣嗎 03/04 08:49
huge:當然不一樣呀,自來也是忍者,忍者不一定是自來也呀 03/05 22:30