Re: [問題] 抽象和介面的新手問題
這真是非常值得罵髒話的貼程式碼 & 發問方式
直接複製貼上,也不管複製貼上之後長啥什麼樣子
我可以很合理的懷疑,基本上你也沒看過你的程式碼
直接是把某個範例拿過來貼上
※ 引述《vincewen (Zafe)》之銘言:
: interface Area1 {public double calcArea1();} //介面,關於形狀的面積
: abstract class Shape1{public abstract void f2();} //形狀的抽象物件,只編寫方法名稱,提供繼承
: Shape1[] s1=new Shape1[]{new Triangle1(),new Circle1(),new Rectangle1()}; //多型
: System.out.println("\n\nHere's the demo of Poly");
: double area;
: for(int i1=0;i1<s1.length;i1++){
: s1[i1].f2();
: if(s1[i1] instanceof Area1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
: calc1((Area1) s1[i1]); //如果是的話,就呼叫該函數
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: }
: //double area;
: //area=s1[0].calcArea1(); //為什麼無法直接call??
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
你的程式就回答了你的問題
如果不懂的話,那我來說一個故事
人可以是笨蛋會耍笨、也可以是聰明人好好問問題
如果你把自己當笨蛋,我們就沒辦法期望你好好問問題
什麼,我在罵人...
人→Triangle1
笨蛋→Shape1
耍笨→f2()
聰明人→Area1
好好問問題→calcArea1()
你把你自己當笨蛋→Shape1 s = new Triangle1();
當然,人家有先檢查是不是聰明人→s instanceof Area1
--
錢鍾書: 說出來的話
http://www.psmonkey.org
比不上不說出來的話
Java 版 cookcomic 版
只影射著說不出來的話
and more......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.202.140
→
12/17 15:26, , 1F
12/17 15:26, 1F
→
12/17 15:52, , 2F
12/17 15:52, 2F
→
12/17 16:00, , 3F
12/17 16:00, 3F
推
12/17 19:48, , 4F
12/17 19:48, 4F