Re: [心得] 介面使用的心得。
你可以說我在吹毛求疵
不過我對原 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
推
05/09 06:20, , 1F
05/09 06:20, 1F
討論串 (同標題文章)