作者PsMonkey (痞子军团团长)
站内java
标题Re: [问题] 以父类别宣告然後以子类别的建构子new
时间Tue Mar 4 09:38:45 2008
※ 引述《jb0802 (james)》之铭言:
: ※ 引述《qrtt1 (愚人)》之铭言:
: : 忍者 n = new 自来也();
: : 忍者 m = new 纲手();
: : n.招唤术(); // 文太出现了
: : m.招唤术(); // 蜗蝓出现了
: : ==============================
: : 这就是抽象化, 不管子类怎麽实作
: : 对於父类知道有招唤术即可.
: : 你并不用指挥某一个忍者要招唤什麽 (他也不一定会(实作))
: : 只要有东西出来就好 XD
: 还有一点问题~~所以再发另一篇文~~
: 这样与使用 自来也 n = new 自来也(); 所做出来的物件n应该和
: 忍者 n = new 自来也(); 这两个应该是一样的n吧
: 会有什麽不一样的地方吗?
: 另外,如果两者一样,我个人的习惯是 当然是把他宣告成 自来也 n=new 自来也();
: 因为这样不是让自己比较清楚它是自来也吗?
: 有些自来也有且忍者没有的方法,我也会记得它可以被拿来叫用。
恩... 反过来说,如果用
忍者 n = new 自来也();
你就不能用
n.写亲热系列();
除非强制转型,这样子又会加深你的疑惑 XDXD
: 另外一个问题,会使用这样的原因是因为父类别有abstract的方法
: 在子类别给实作了才会有这样的宣告吗?
我原本也想回答 qrtt1 的内容(路人:咪的! 马後炮...)
不过後来想想,通常那都是以 method 的形式出现
public static void 展示招唤术(忍者[] 忍者们){
for(int i=0; i<忍者们.length; i++){
//用 for each 好像比较有感觉 XD
忍者们[i].招换术();
}
}
你要严格地只讨论「在 new 的时候有没有差」
ㄜ... 我还真想不到差别在哪...
期待其他高手回答这样... Orz
--
侃侃长论鲜窒碍 首页:
http://www.psmonkey.idv.tw
众目睽睽无心颤 Blog:
http://ps-think.blogspot.com
茕居少聊常人事
杀头容易告白难 欢迎参观 Java 版(@ptt.cc) \囧/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.200.178
1F:推 qrtt1:你可以再写一次啊XD, 我本来想写神奇宝贝@@ 不过好像太久了 03/04 09:54
2F:推 jb0802:n.亲热系列()需强制转型吗? 不是直接用就好了喔 03/04 11:00
3F:→ PsMonkey:如果你是用忍者去宣告,那要强制转型阿 03/04 11:40
4F:推 Gouken:ㄟ..."n.写亲热系列(); "这是什麽梗啊? 0.0 03/05 05:27
5F:推 Gouken:知道了.. 没事^^ 03/05 05:31