作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] 抽象和介面的新手问题
时间Mon Dec 17 15:26:08 2012
这真是非常值得骂脏话的贴程式码 & 发问方式
直接复制贴上,也不管复制贴上之後长啥什麽样子
我可以很合理的怀疑,基本上你也没看过你的程式码
直接是把某个范例拿过来贴上
※ 引述《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
1F:→ PsMonkey:po 完原文就不见了...... @_@ 12/17 15:26
2F:→ cha122977:你也太激动XD 12/17 15:52
3F:→ PsMonkey:@_@ 这样哪有激动,激动就没办法想出好范例 [逃] 12/17 16:00
4F:推 lovdkkkk:XDDD 12/17 19:48