亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12345
最近訪問板塊 發(fā)新帖
樓主: TAxxjszxlkjf
打印 上一主題 下一主題

關(guān)于java中接口的認(rèn)識(不知理解的是否正確) [復(fù)制鏈接]

論壇徽章:
0
41 [報告]
發(fā)表于 2006-01-01 17:40 |只看該作者
java中的接口產(chǎn)生的最根本的原因和最根本的作用在于描述類與類之間的聯(lián)系,當(dāng)類與類之間的聯(lián)系用類的繼承來描述并不恰當(dāng)時,就用接口來描述。接口概念的引入是為了更恰當(dāng)?shù)孛枋鍪挛,它的產(chǎn)生和耦合沒有直接的關(guān)系--------一個初學(xué)者的想法,清高手指點。

論壇徽章:
0
42 [報告]
發(fā)表于 2006-06-05 15:31 |只看該作者
你要實現(xiàn)
A a = Factory.Create(A); C c = Factory.Create(C).

hoho
這個就是松耦合

論壇徽章:
0
43 [報告]
發(fā)表于 2006-06-05 17:19 |只看該作者
呵呵,肯定是書沒看好,繼續(xù)...

論壇徽章:
0
44 [報告]
發(fā)表于 2006-06-14 13:51 |只看該作者
耦合我不懂!但代碼好象應(yīng)該下面這樣哦!
public class A {

method1(){} ;
method2(){} ;
method3(){};
method4(){} ;
}

class C  {
method1() {
// an entirely different implementation
}
}


public class B  {

A a=new A();
a.method1();

}

其次interface是兩個類之間的橋梁,一個類去實現(xiàn)它,另一個類去調(diào)用它,我不知道和偶合有什么關(guān)系!

論壇徽章:
0
45 [報告]
發(fā)表于 2006-06-15 01:46 |只看該作者
原帖由 追夢南風(fēng) 于 2006-6-14 13:51 發(fā)表
耦合我不懂!但代碼好象應(yīng)該下面這樣哦!
public class B  {

A a=new A();
a.method1();

}

interface的好處主要是減少代碼量,甚至于減少程序編譯的次數(shù)。特別是用在分布式應(yīng)用的時候。

A a=new A();
a.method1();

B b =new B();
b.method1();
....

如果你有1000個這樣的class,是不是要把類似這樣的代碼寫1000遍呢?另外,如果你的程序已經(jīng)在運(yùn)行,但是又要加入新的class,你是不是需要把程序終止運(yùn)行,重新修改代碼,重新編譯,部署,然后重新啟動呢?

interface就是解決這種問題的一個辦法。你可以讓這些類似功能的class共用一個入口。

public interface Wuqi {//武器
    public void fashe(); //發(fā)射
}

public class Shouliudan implemnets wuqi
{
   public void fashe() {
      touzhi();//手榴彈用投擲的
   }

   private void touzhi() {
      ...
   }
}

public class Zhadan implements wuqi
{
   public void fashe() {
       yinbao(); //炸彈用引爆的
   }

   private void yinbao() {
       ...
   }
}

然后統(tǒng)統(tǒng)存入武器庫
Shouliudan s = new Shouliudan();
wuqiku.add(s);

Zhadan z = new Zhadan();
wuqiku.add(z);

使用的時候
while(wuqiku.hasNext())
{
    Wuqi wq= (Wuqi)wuqiku.next(); //從武器庫中取得一樣武器
    wq.fashe(); 這里不要再去關(guān)心是什么類型的武器,不用擔(dān)心應(yīng)該用投擲的,還是引爆的,只要使用統(tǒng)一的方法“發(fā)射”即可。
}

而且,以后不管再研發(fā)出什么新的武器,使用什么新的名稱都無所謂,調(diào)用的部分的代碼就無需重新編譯,就能直接使用新的武器了。
如果你有運(yùn)行和維護(hù)rmi的服務(wù)器的經(jīng)驗,就能體會到用interface的好處了。

論壇徽章:
0
46 [報告]
發(fā)表于 2006-06-23 16:47 |只看該作者
原帖由 sakulagi 于 2005-9-11 20:17 發(fā)表

解耦”意味著“用接口代替類”,而不是接口和類同時用 ...



一語驚醒夢中人
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP