※ 引述《qrtt1 (愚人)》之銘言:
: ※ 引述《jb0802 (james)》之銘言:
: : 還有一點問題~~所以再發另一篇文~~
: : 這樣與使用 自來也 n = new 自來也(); 所做出來的物件n應該和
: : 忍者 n = new 自來也(); 這兩個應該是一樣的n吧
: : 會有什麼不一樣的地方嗎?
: : 另外,如果兩者一樣,我個人的習慣是 當然是把他宣告成 自來也 n=new 自來也();
: : 因為這樣不是讓自己比較清楚它是自來也嗎?
: : 有些自來也有且忍者沒有的方法,我也會記得它可以被拿來叫用。
: : 另外一個問題,會使用這樣的原因是因為父類別有abstract的方法
: : 在子類別給實作了才會有這樣的宣告嗎?
: 是一樣啊, 不過不夠抽象化
: 當任務來的時候需要任務編組
: Team {
: 醫療忍者 m;
: 忍者 n;
: 隊長 o;
: 自來也 p;
: }
: 醫療忍者需 實作 interface "治療" { 施展治療忍術(); }
: =======================================================
: 每次你要組個 Team 自來也都要到, 他怎麼有時間寫小說呢 XD
: 而且這樣的設計是不是表示, 沒有自來也 Team 就不完整了呢?
: Team {
: 醫療忍者 m = new 小櫻();
: 忍者 n = new 鳴人();
: 隊長 o = new 卡卡西();
: }
: Team {
: 醫療忍者 m = new 小櫻();
: 忍者 n = new 鳴人();
: 隊長 o = new 自來也();
: }
: Team {
: 醫療忍者 m = new 綱手();
: 忍者 n = new 自來也();
: 隊長 o = new 飛猿();
: }
: 只要型別對了, 自來也可以出現在任何位置, Team 的安排也能很自由
: 不會因為少了自來也而不能組 Team
不好意思,推了一個2008年的古文@@
這兩天在學java也遇到了同樣的問題,雖然全部回文都看完了,卻還是有點疑問存在
我想請問說,既然我寫程式的人都知道說我就是要用自來也,
那為什麼我就不要直接寫 自來也 n = new 自來也(); 呢?
看了上述的任務邊組的例子後還是有點不懂,
如果說現在要組一個team
Team {
醫療忍者 m = new 綱手();
忍者 n = new 自來也();
隊長 o = new 飛猿();
}
就好像說,我都知道鋼手要當醫療忍者了,也知道飛猿要當隊長
那為什麼寫程式時不就乾脆寫成
Team {
鋼手 m = new 綱手();
自來也 n = new 自來也();
飛猿 o = new 飛猿();
}
這樣呢?
如果忍者這父類別有一個abstract的招換術需要子類去定義他
那繼承忍者的所有類別,都一定會去定義招換術不是嗎?
那既然繼承的子類都定義了,那麼所有的方法也都可以安心使用不是嗎@@?
就像前面的文章所說的
忍者 n = new 自來也();
忍者 m = new 綱手();
n.招喚術(); // 文太出現了
m.招喚術(); // 蝸蝓出現了
因為自來也、鋼手都是繼承忍者的,所以他們肯定會定義招換術,那麼程式寫成
自來也 n = new 自來也();
鋼手 m = new 綱手();
n.招喚術(); // 文太出現了
m.招喚術(); // 蝸蝓出現了
這樣也沒錯不是嗎@@?
拜託各位幫忙解除小弟的疑問,謝謝大家