Re: [問題] 抽象和介面的新手問題

看板java作者 (痞子軍團團長)時間11年前 (2012/12/17 15:26), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
這真是非常值得罵髒話的貼程式碼 & 發問方式 直接複製貼上,也不管複製貼上之後長啥什麼樣子 我可以很合理的懷疑,基本上你也沒看過你的程式碼 直接是把某個範例拿過來貼上 ※ 引述《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
po 完原文就不見了...... @_@
12/17 15:26, 1F

12/17 15:52, , 2F
你也太激動XD
12/17 15:52, 2F

12/17 16:00, , 3F
@_@ 這樣哪有激動,激動就沒辦法想出好範例 [逃]
12/17 16:00, 3F

12/17 19:48, , 4F
XDDD
12/17 19:48, 4F
文章代碼(AID): #1GpiaK9i (java)