作者PsMonkey (痞子军团团长)
看板java
标题Re: [心得] 介面使用的心得。
时间Thu May 9 00:14:38 2013
你可以说我在吹毛求疵
不过我对原 po 没有什麽不敬的意思
※ 引述《bu6668 (Will)》之铭言:
: class AsusPrinter() implemented USB {
^^^^^^^^^^^^^
这是新语法吗? @_@
我在 JDK 1.6 会炸 error?
: public void output(String data){ print(data); }
: }
: class AcerPrinter() implemented USB {
: public void output(String data){ print(data); }
: }
: class ApplePrinter() {
: public void output(String data){ print(data); }
: }
: Interface USB(){
: public void output(String data);
: }
: class MyComputer(){
: USB usbPort1 =null;
: public void setPrinter(USB usb){
: usbPort1 =usb;
: }
: }
: A婆印表机不能用了因为没有USB~
: 下次要接收一个物件来呼叫时
: 想清楚要用"介面"还是"类别"去接收物件吧!!
: public void setObject(介面 obj)
: public void setObject(类别 obj)
从 callee 的角度来看
其实这跟 interface 没啥关系,因为如果
class FooPrinter extends Printer {
public void output(String data) { print(data); }
}
class Printer {
public void output(String data) { print(data); }
}
也完全符合你的叙述(但也不是说你错)
也就是说,单纯看 callee
其实参数到底是用 interface / (abstract) class 宣告都可以
当然,如果要讨论盖 OO 大楼的时候
什麽状况下要用 extend、什麽时候要作 abstract class
什麽时候该 implement interface
我只能说,我都是硬干出来的
如果有人愿意接下去讨论
我早晚会给祖先多上三炷香感谢他们
--
钱锺书:
说出来的话
http://www.psmonkey.org
比不上不说出来的话
Java 版 cookcomic 版
只影射着说不出来的话
and more......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.18.202
1F:推 bu6668:程式码已修正!没有先编译过程式码再贴上是我的错!! 05/09 06:20