百科解釋
目錄·接口的概述·接口類型(圖)·數(shù)據(jù)線接口·九大視頻接口全接觸·五類音頻接口全接觸·接口方式·計(jì)算機(jī)的接口 英文名稱:interface接口的概述 鼠標(biāo)、攝像頭、優(yōu)盤都是使用USB接口的設(shè)備,如果想要使用他們就必須連接在USB接口上,這些設(shè)備的接口必須遵守USB接口的規(guī)范才能通過USB接口來使用?梢赃@樣說:接口是一套規(guī)范,滿足這個(gè)規(guī)范的設(shè)備,我們就可以把他們組裝到一起,從而實(shí)現(xiàn)該設(shè)備的功能。 接口指的是MD產(chǎn)品具有哪些輸入輸出的接口。首先作為MD產(chǎn)品,耳機(jī)的輸出接口自然是必須有的。除了基本的耳機(jī)輸出接口之外,錄放型產(chǎn)品還應(yīng)該具有線路輸入的接口,這樣才能夠把MD和其它播放設(shè)備相連接,把播放的音頻輸入MD并且將其錄制到MD片上。而目前的NetMD產(chǎn)品還應(yīng)具有USB接口,這樣才能夠和電腦相連接,從而能夠進(jìn)行文件的傳輸。有的產(chǎn)品還具有麥克風(fēng)的接口,可以把外部的聲音通過MD錄制下來。在.NET中,接口同樣是一種規(guī)范和標(biāo)準(zhǔn)。它們可以約束類的行為,例如一個(gè)類如果實(shí)現(xiàn)IComparable接口,就必須實(shí)現(xiàn)CompareTo()方法。.雖然,接口種類豐富能夠擴(kuò)大產(chǎn)品的功能,但是在實(shí)際的應(yīng)用中還應(yīng)按需進(jìn)行選購(gòu)。接口類型(圖) 接口類型是指游戲設(shè)備與電視機(jī)或電腦主機(jī)之間的接口類型。具體有與電視機(jī)相連的AV接口,與電腦主機(jī)相連的串口、USB接口、PCI接口、I-LINK(四針I(yè)EEE 1394接口)、連接聲卡的MIDI接口、無線接口等等。 硬盤接口是硬盤與主機(jī)系統(tǒng)間的連接部件,作用是在硬盤緩存和主機(jī)內(nèi)存之間傳輸數(shù)據(jù)。不同的硬盤接口決定著硬盤與計(jì)算機(jī)之間的連接速度,在整個(gè)系統(tǒng)中,硬盤接口的優(yōu)劣直接影響著程序運(yùn)行快慢和系統(tǒng)性能好壞。從整體的角度上,硬盤接口分為IDE、SATA、SCSI和光纖通道四種,IDE接口硬盤多用于家用產(chǎn)品中,也部分應(yīng)用于服務(wù)器,SCSI接口的硬盤則主要應(yīng)用于服務(wù)器市場(chǎng),而光纖通道只在高端服務(wù)器上,價(jià)格昂貴。SATA是種新生的硬盤接口類型,還正出于市場(chǎng)普及階段,在家用市場(chǎng)中有著廣泛的前景。在IDE和SCSI的大類別下,又可以分出多種具體的接口類型,又各自擁有不同的技術(shù)規(guī)范,具備不同的傳輸速度,比如ATA100和SATA;Ultra160 SCSI和Ultra320 SCSI都代表著一種具體的硬盤接口,各自的速度差異也較大。 IDE<b>(圖1)</b> IDE的英文全稱為“Integrated Drive Electronics”,即“電子集成驅(qū)動(dòng)器”,它的本意是指把“硬盤控制器”與“盤體”集成在一起的硬盤驅(qū)動(dòng)器。把盤體與控制器集成在一起的做法減少了硬盤接口的電纜數(shù)目與長(zhǎng)度,數(shù)據(jù)傳輸?shù)目煽啃缘玫搅嗽鰪?qiáng),硬盤制造起來變得更容易,因?yàn)橛脖P生產(chǎn)廠商不需要再擔(dān)心自己的硬盤是否與其它廠商生產(chǎn)的控制器兼容。對(duì)用戶而言,硬盤安裝起來也更為方便。IDE這一接口技術(shù)從誕生至今就一直在不斷發(fā)展,性能也不斷的提高,其擁有的價(jià)格低廉、兼容性強(qiáng)的特點(diǎn),為其造就了其它類型硬盤無法替代的地位。 IDE代表著硬盤的一種類型,但在實(shí)際的應(yīng)用中,人們也習(xí)慣用IDE來稱呼最早出現(xiàn)IDE類型硬盤ATA-1,這種類型的接口隨著接口技術(shù)的發(fā)展已經(jīng)被淘汰了,而其后發(fā)展分支出更多類型的硬盤接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都屬于IDE硬盤。 SCSI SCSI的英文全稱為“Small Computer System Interface”(小型計(jì)算機(jī)系統(tǒng)接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的標(biāo)準(zhǔn)接口,而SCSI并不是專門為硬盤設(shè)計(jì)的接口,是一種廣泛應(yīng)用于小型機(jī)上的高速數(shù)據(jù)傳輸技術(shù)。SCSI接口具有應(yīng)用范圍廣、多任務(wù)、帶寬大、CPU占用率低,以及熱插拔等優(yōu)點(diǎn),但較高的價(jià)格使得它很難如IDE硬盤般普及,因此SCSI硬盤主要應(yīng)用于中、高端服務(wù)器和高檔工作站中。 光纖通道 光纖通道的英文拼寫是Fibre Channel,和SCSI接口一樣光纖通道最初也不是為硬盤設(shè)計(jì)開發(fā)的接口技術(shù),是專門為網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)的,但隨著存儲(chǔ)系統(tǒng)對(duì)速度的需求,才逐漸應(yīng)用到硬盤系統(tǒng)中。光纖通道硬盤是為提高多硬盤存儲(chǔ)系統(tǒng)的速度和靈活性才開發(fā)的,它的出現(xiàn)大大提高了多硬盤系統(tǒng)的通信速度。光纖通道的主要特性有:熱插拔性、高速帶寬、遠(yuǎn)程連接、連接設(shè)備數(shù)量大等。 光纖通道是為在像服務(wù)器這樣的多硬盤系統(tǒng)環(huán)境而設(shè)計(jì),能滿足高端工作站、服務(wù)器、海量存儲(chǔ)子網(wǎng)絡(luò)、外設(shè)間通過集線器、交換機(jī)和點(diǎn)對(duì)點(diǎn)連接進(jìn)行雙向、串行數(shù)據(jù)通訊等系統(tǒng)對(duì)高數(shù)據(jù)傳輸率的要求。 SATA 使用SATA(Serial ATA)口的硬盤又叫串口硬盤,是未來PC機(jī)硬盤的趨勢(shì)。2001年,由Intel、APT、Dell、IBM、希捷、邁拓這幾大廠商組成的Serial ATA委員會(huì)正式確立了Serial ATA 1.0規(guī)范,2002年,雖然串行ATA的相關(guān)設(shè)備還未正式上市,但Serial ATA委員會(huì)已搶先確立了Serial ATA 2.0規(guī)范。Serial ATA采用串行連接方式,串行ATA總線使用嵌入式時(shí)鐘信號(hào),具備了更強(qiáng)的糾錯(cuò)能力,與以往相比其最大的區(qū)別在于能對(duì)傳輸指令(不僅僅是數(shù)據(jù))進(jìn)行檢查,如果發(fā)現(xiàn)錯(cuò)誤會(huì)自動(dòng)矯正,這在很大程度上提高了數(shù)據(jù)傳輸?shù)目煽啃。串行接口還具有結(jié)構(gòu)簡(jiǎn)單、支持熱插拔的優(yōu)點(diǎn)。 支持Serial-ATA技術(shù)的標(biāo)志 (圖2) 串口硬盤是一種完全不同于并行ATA的新型硬盤接口類型,由于采用串行方式傳輸數(shù)據(jù)而知名。相對(duì)于并行ATA來說,就具有非常多的優(yōu)勢(shì)。首先,Serial ATA以連續(xù)串行的方式傳送數(shù)據(jù),一次只會(huì)傳送1位數(shù)據(jù)。這樣能減少SATA接口的針腳數(shù)目,使連接電纜數(shù)目變少,效率也會(huì)更高。實(shí)際上,Serial ATA 僅用四支針腳就能完成所有的工作,分別用于連接電纜、連接地線、發(fā)送數(shù)據(jù)和接收數(shù)據(jù),同時(shí)這樣的架構(gòu)還能降低系統(tǒng)能耗和減小系統(tǒng)復(fù)雜性。其次,Serial ATA的起點(diǎn)更高、發(fā)展?jié)摿Ω,Serial ATA 1.0定義的數(shù)據(jù)傳輸率可達(dá)150MB/s,這比目前最新的并行ATA(即ATA/133)所能達(dá)到133MB/s的最高數(shù)據(jù)傳輸率還高,而在Serial ATA 2.0的數(shù)據(jù)傳輸率將達(dá)到300MB/s,最終SATA將實(shí)現(xiàn)600MB/s的最高數(shù)據(jù)傳輸率。數(shù)據(jù)線接口 移動(dòng)電話作為一種小巧的便攜式數(shù)字設(shè)備,具有攜帶方便、功能強(qiáng)大等優(yōu)點(diǎn),但儲(chǔ)存容量不大,時(shí)不時(shí)要將手機(jī)里的文件儲(chǔ)存到電腦里,這就涉及到與電腦連接方式的問題。數(shù)據(jù)傳輸接口是手機(jī)與個(gè)人電腦等其他設(shè)備之間進(jìn)行連接的接口。憑此接口和其他設(shè)備之間能夠?qū)崿F(xiàn)上傳下載、資料同步等功能。常見的數(shù)據(jù)傳輸接口有USB接口、串口、紅外線接口和藍(lán)牙接口等。九大視頻接口全接觸 1 射頻 天線和模擬閉路連接電視機(jī)就是采用射頻(RF)接口。作為最常見的視頻連接方式,它可同時(shí)傳輸模擬視頻以及音頻信號(hào)。RF接口傳輸?shù)氖且曨l和音頻混合編碼后的信號(hào),顯示設(shè)備的電路將混合編碼信號(hào)進(jìn)行一系列分離、解碼在輸出成像。由于需要進(jìn)行視頻、音頻混合編碼,信號(hào)會(huì)互相干擾,所以它的畫質(zhì)輸出質(zhì)量是所有接口中最差的。有線電視和衛(wèi)星電視接收設(shè)備也常用RF連接,但這種情況下,它們傳輸?shù)氖菙?shù)字信號(hào)。 2 復(fù)合視頻 不像射頻接口那樣包含了音頻信號(hào),復(fù)合視頻(Composite)通常采用黃色的RCA(蓮花插座)接頭!皬(fù)合”含義是同一信道中傳輸亮度和色度信號(hào)的模擬信號(hào),但電視機(jī)如果不能很好的分離這兩種信號(hào),就會(huì)出現(xiàn)虛影。 3 S端子 S端子(S-Video)連接采用Y/C(亮度/色度)分離式輸出,使用四芯線傳送信號(hào),接口為四針接口。接口中,兩針接地,另外兩針分別傳輸亮度和色度信號(hào)。因?yàn)榉謩e傳送亮度和色度信號(hào),S端子效果要好于復(fù)合視頻。不過S端子的抗干擾能力較弱,所以S端子線的長(zhǎng)度最好不要超過7米。 4 色差 色差(Component)通常標(biāo)記為Y/Pb/Pr,用紅、綠、藍(lán)三種顏色來標(biāo)注每條線纜和接口。綠色線纜(Y),傳輸亮度信號(hào)。藍(lán)色和紅色線纜(Pb和Pr)傳輸?shù)氖穷伾顒e信號(hào)。色差的效果要好于S端子,因此不少DVD以及高清播放設(shè)備上都采用該接口。如果使用優(yōu)質(zhì)的線材和接口,即使采用10米長(zhǎng)的線纜,色差線也能傳輸優(yōu)秀的畫面。 5 VGA VGA(Video Graphics Array)還有一個(gè)名稱叫D-Sub。VGA接口共有15針,分成3排,每排5個(gè)孔,是顯卡上應(yīng)用最為廣泛的接口類型,絕大多數(shù)顯卡都帶有此種接口。它傳輸紅、綠、藍(lán)模擬信號(hào)以及同步信號(hào)(水平和垂直信號(hào))。使用VGA連接設(shè)備,線纜長(zhǎng)度最好不要超過10米,而且要注意接頭是否安裝牢固,否則可能引起圖像中出現(xiàn)虛影。 6 DVI DVI(Digital Visual Interface)接口與VGA都是電腦中最常用的接口,與VGA不同的是,DVI可以傳輸數(shù)字信號(hào),不用再進(jìn)過數(shù)模轉(zhuǎn)換,所以畫面質(zhì)量非常高。目前,很多高清電視上也提供了DVI接口。需要注意的是,DVI接口有多種規(guī)范,常見的是DVI-D(Digital)和DVI-I(Intergrated)。DVI-D只能傳輸數(shù)字信號(hào),大家可以用它來連接顯卡和平板電視。DVI-I則在DVI-D可以和VGA相互轉(zhuǎn)換。 關(guān)于DVI接口更詳細(xì)信息請(qǐng)參考DVI接口詳解 7 HDMI HDMI(High Definition Multimedia Interface)接口是最近才出現(xiàn)的接口,它同DVI一樣是傳輸全數(shù)字信號(hào)的。不同的是HDMI接口不僅能傳輸高清數(shù)字視頻信號(hào),還可以同時(shí)傳輸高質(zhì)量的音頻信號(hào)。同時(shí)功能跟射頻接口相同,不過由于采用了全數(shù)字化的信號(hào)傳輸,不會(huì)像射頻接口那樣出現(xiàn)畫質(zhì)不佳的情況。對(duì)于沒有HDMI接口的用戶,可以用適配器將HDMI接口轉(zhuǎn)換位DVI接口,但是這樣就失去了音頻信號(hào)。高質(zhì)量的HDMI線材,即使長(zhǎng)達(dá)20米,也能保證優(yōu)質(zhì)的畫質(zhì)。 8 IEEE 1394 IEEE 1394也稱為火線或iLink,它能夠傳輸數(shù)字視頻和音頻及機(jī)器控制信號(hào),具有較高的帶寬,且十分穩(wěn)定。通常它主要用來連接數(shù)碼攝像機(jī)、DVD錄像機(jī)等設(shè)備。IEEE 1394接口有兩種類型:6針的六角形接口和4針的小型四角形接口。6針的六角形接口可向所連接的設(shè)備供電,而4針的四角形接口則不能。 9 BNC BNC(同軸電纜卡環(huán)形接口)接口主要用于連接高端家庭影院產(chǎn)品以及專業(yè)視頻設(shè)備。BNC電纜有5個(gè)連接頭,分別接收紅、綠、藍(lán)、水平同步和垂直同步信號(hào)。BNC接頭可以讓視頻信號(hào)互相間干擾減少,可達(dá)到最佳信號(hào)響應(yīng)效果。此外,由于BNC接口的特殊設(shè)計(jì),連接非常緊,不必?fù)?dān)心接口松動(dòng)而產(chǎn)生接觸不良。五類音頻接口全接觸 除了高清視頻帶來的不僅僅是視覺上的沖擊,音頻方面質(zhì)量也有很大提高,能給大家?guī)砀普娴默F(xiàn)場(chǎng)效果。那么,目前主流的視頻接口有哪些呢?花老師將給一一講解市面上常見的音頻接口。 RCA模擬音頻 RCA接頭就是常說的蓮花頭,利用RCA線纜傳輸模擬信號(hào)是目前最普遍的音頻連接方式。每一根RCA線纜負(fù)責(zé)傳輸一個(gè)聲道的音頻信號(hào),所以立體聲信號(hào),需要使用一對(duì)線纜。對(duì)于多聲道系統(tǒng),就要根據(jù)實(shí)際的聲道數(shù)量配以相同數(shù)量的線纜。立體聲RCA音頻接口,一般將右聲道用紅色標(biāo)注,左聲道則用藍(lán)色或者白色標(biāo)注。 S/PDIF S/PDIF(Sony/Philips Digital Interface,索尼和飛利浦?jǐn)?shù)字接口)是由SONY公司與PHILIPS公司聯(lián)合制定的一種數(shù)字音頻輸出接口。該接口廣泛應(yīng)用在CD播放機(jī)、聲卡及家用電器等設(shè)備上,能改善CD的音質(zhì),給我們更純正的聽覺效果。該接口傳輸?shù)氖菙?shù)字信號(hào),所以不會(huì)像模擬信號(hào)那樣受到干擾而降低音頻質(zhì)量。需要注意的是,S/PDIF接口是一種標(biāo)準(zhǔn),同軸數(shù)字接口和光線接口都屬于S/PDIF接口的范疇。 數(shù)字同軸 數(shù)字同軸(Digital Coaxial)是利用S/PDIF接口輸出數(shù)字音頻的接口。同軸線纜有兩個(gè)同心導(dǎo)體,導(dǎo)體和屏蔽層共用同一軸心。同軸線纜是由絕緣材料隔離的銅線導(dǎo)體,阻抗為75歐姆,在里層絕緣材料的外部是另一層環(huán)形導(dǎo)體及其絕緣體,整個(gè)電纜由聚氯乙烯或特氟綸材料的護(hù)套包住。同軸電纜的優(yōu)點(diǎn)是阻抗穩(wěn)定,傳輸帶寬高,保證了音頻的質(zhì)量。雖然同軸數(shù)字線纜的標(biāo)準(zhǔn)接頭為BNC接頭,但市面上的同軸數(shù)字線材多采用RCA接頭。 光纖 光纖(Optical)以光脈沖的形式來傳輸數(shù)字信號(hào),其材質(zhì)以玻璃或有機(jī)玻璃為主。光纖同樣采用S/PDIF接口輸出,其是帶寬高,信號(hào)衰減小,常常用于連接DVD播放器和AV功放,支持PCM數(shù)字音頻信號(hào)、Dolby以及DTS音頻信號(hào)。 XLR接口 與RCA模擬音頻線纜直接傳輸聲音的方式完全不同,平衡模擬音頻(Balanced Analog Audio)接口使用兩個(gè)通道分別傳送信號(hào)相同而相位相反的信號(hào)。接收端設(shè)備將這兩組信號(hào)相減,干擾信號(hào)就被抵消掉,從而獲得高質(zhì)量的模擬信號(hào)。平衡模擬音頻通常采用XLR接口和大三芯接口。XLR俗稱卡儂頭,有三針插頭和鎖定裝置組成。由于采用了鎖定裝置,XLR連接相當(dāng)牢靠。大三芯接口則采用直徑為6.35毫米的插頭,其優(yōu)點(diǎn)是耐磨損,適合反復(fù)插拔。平衡模擬音頻連接主要出現(xiàn)在高級(jí)模擬音響器材或?qū)I(yè)音頻設(shè)備上。接口方式 接口指MP3播放器與電腦的連接方式。接口技術(shù)是MP3播放器的最重要的指標(biāo)之一,接口的速度、方便程度自然也會(huì)影響到MP3的實(shí)用性和上傳或下載歌曲的速率。 MP3播放器常見接口包括并口(EPP)、USB接口和IEEE 1394接口,早期的一般是并口,由于傳輸速度的限制,并口的MP3已被淘汰。如今市面上的MP3接口基本是USB接口了,優(yōu)點(diǎn)在于傳輸速率快和支持熱插拔。還有一類特殊的硬盤式MP3使用1394接口,隨著MP3容量的增大,相信在這方面會(huì)有更多人關(guān)注,因?yàn)樗俣仍娇,在容量大的機(jī)器上就體現(xiàn)出它的好處了。計(jì)算機(jī)的接口 同一計(jì)算機(jī)不同功能層之間的通信規(guī)則稱為接口。 對(duì)協(xié)定進(jìn)行定義的引用類型。其他類型實(shí)現(xiàn)接口,以保證它們支持某些操作。接口指定必須由類提供的成員或?qū)崿F(xiàn)它的其他接口。與類相似,接口可以包含方法、屬性、索引器和事件作為成員。 leon2 附加: 接口中可以聲明屬性、方法、事件和類型(Structure),(但不能聲明變量),但是并不能設(shè)置這些成員的具體值,也就是說,只能定義,不能給它里面定義的東西賦值。 下面是個(gè) VB.NET 2003 的例子。 在 VB.NET 的類里,實(shí)現(xiàn)一個(gè)接口的語(yǔ)句是: implements 接口名稱 例如,下面定義一個(gè)車(總稱)的接口,這里的車是各種車的總稱: Public Interface ICar Property color() As String Property speed() As Long Sub PrintInfo() End Interface 然后在不同類型的“車”類里實(shí)現(xiàn)它: Public Class A_Car Implements ICar Dim m_color As String, m_speed As Long Public Property color() As String Implements ICar.color Get Return m_color End Get Set(ByVal Value As String) m_color = Value End Set End Property Protected Overrides Sub Finalize() MsgBox("I was deconstructed!") End Sub Public Sub New() m_color = "Red" m_speed = 210 MsgBox("I was constructed!") End Sub Public Property speed() As Long Implements ICar.speed Get Return m_speed End Get Set(ByVal Value As Long) m_speed = speed End Set End Property Public Sub PrintInfo() Implements ICar.PrintInfo MsgBox("Color: " & m_color & vbNewLine & "Speed: " & m_speed, MsgBoxStyle.Information) End Sub End Class 在 Form 的 Load 事件中編寫: Dim myCar As New A_Car myCar.PrintInfo() 運(yùn)行之后就創(chuàng)建了一個(gè) A_Car 類的實(shí)例 myCar,然后出現(xiàn)兩個(gè)對(duì)話框,分別說明實(shí)例已經(jīng)創(chuàng)建和汽車的信息。當(dāng)窗體卸載時(shí),這個(gè)類的實(shí)例 myCar 將自動(dòng)銷毀,這時(shí)將出現(xiàn)一個(gè)“I was deconstructed!”的對(duì)話框。 聲明一個(gè)接口時(shí),需要考慮以下幾點(diǎn): 1.接口主體只限于對(duì)方法,索引器以及屬性的聲明; 2.借口成員是隱式公開的,如果對(duì)其顯式指定訪問級(jí)別,就會(huì)出現(xiàn)編譯器錯(cuò)誤; 3.接口中不能包含字段,構(gòu)造函數(shù)和常量等; 4.在接口中不能實(shí)現(xiàn)任何方法,屬性或者索引器; 5.在指定方法時(shí),只需要給出返回類型,名稱和參數(shù)列表,然后分號(hào)結(jié)束。 面向?qū)ο蟮慕涌?BR> 在C++中,一個(gè)類被允許繼承多個(gè)類。但是在Java以后的語(yǔ)言不被允許。 這樣,如果想繼承多個(gè)類時(shí)便非常困難。所以開發(fā)方想出了新辦法:接口。 一個(gè)接口內(nèi),允許包含變量、常量等一個(gè)類所包含的基本內(nèi)容。但是,接口中的函數(shù)不允許設(shè)定代碼,也就意味著不能把程序入口放到接口里。由上可以理解到,接口是專門被繼承的。接口存在的意義也是被繼承。和C++里的抽象類里的純虛函數(shù)是相同的。不能被實(shí)例化。 定義接口的關(guān)鍵字是interface,例如: public interface MyInterface{ public void add(int x,int y); public void volume(int x,int y,int z); } 繼承接口的關(guān)鍵字是implements,相當(dāng)于繼承類的extends。 需要注意的是,當(dāng)繼承一個(gè)接口時(shí),接口里的所有函數(shù)必須全部被覆蓋。例如: class Demo implements MyInterface{ public void add(int x,int y){ System.out.println(" "+(x+y)); } public void volume(int x,int y,int z){ System.out.println(" "+(x*y*z)); } public static void main(String args[]){ Demo d=new Demo(); d.add(10,20); d.volume(10,10,10); } } 輸出結(jié)果: 30 1000 當(dāng)想繼承多個(gè)類時(shí),開發(fā)程序不允許,報(bào)錯(cuò)。這樣就要用到接口。因?yàn)榻涌谠试S多重繼承(,),而類不允許。所以就要用到接口。 Java里面的接口 Java里面由于不允許多重繼承,所以如果要實(shí)現(xiàn)多個(gè)類的功能,則可以通過實(shí)現(xiàn)多個(gè)接口來實(shí)現(xiàn)。 Java接口和Java抽象類代表的就是抽象類型,就是我們需要提出的抽象層的具體表現(xiàn)。OOP面向?qū)ο蟮木幊,如果要提高程序的?fù)用率,增加程序的可維護(hù)性,可擴(kuò)展性,就必須是面向接口的編程,面向抽象的編程,正確地使用接口、抽象類這些太有用的抽象類型做為你結(jié)構(gòu)層次上的頂層。 Java接口和Java抽象類有太多相似的地方,又有太多特別的地方,究竟在什么地方,才是它們的最佳位置呢?把它們比較一下,你就可以發(fā)現(xiàn)了。 1、Java接口和Java抽象類最大的一個(gè)區(qū)別,就在于Java抽象類可以提供某些方法的部分實(shí)現(xiàn),而Java接口不可以,這大概就是Java抽象類唯一的優(yōu)點(diǎn)吧,但這個(gè)優(yōu)點(diǎn)非常有用。如果向一個(gè)抽象類里加入一個(gè)新的具體方法時(shí),那么它所有的子類都一下子都得到了這個(gè)新方法,而Java接口做不到這一點(diǎn),如果向一個(gè)Java接口里加入一個(gè)新方法,所有實(shí)現(xiàn)這個(gè)接口的類就無法成功通過編譯了,因?yàn)槟惚仨氉屆恳粋(gè)類都再實(shí)現(xiàn)這個(gè)方法才行,這顯然是Java接口的缺點(diǎn)。 2、一個(gè)抽象類的實(shí)現(xiàn)只能由這個(gè)抽象類的子類給出,也就是說,這個(gè)實(shí)現(xiàn)處在抽象類所定義出的繼承的等級(jí)結(jié)構(gòu)中,而由于Java語(yǔ)言的單繼承性,所以抽象類作為類型定義工具的效能大打折扣。在這一點(diǎn)上,Java接口的優(yōu)勢(shì)就出來了,任何一個(gè)實(shí)現(xiàn)了一個(gè)Java接口所規(guī)定的方法的類都可以具有這個(gè)接口的類型,而一個(gè)類可以實(shí)現(xiàn)任意多個(gè)Java接口,從而這個(gè)類就有了多種類型。 3、從第2點(diǎn)不難看出,Java接口是定義混合類型的理想工具,混合類表明一個(gè)類不僅僅具有某個(gè)主類型的行為,而且具有其他的次要行為。
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助