標籤: 暫無標籤

介面指的是MD產品具有哪些輸入輸出的介面。首先作為MD產品,耳機的輸出介面自然是必須有的。除了基本的耳機輸出介面之外,錄放型產品還應該具有線路輸入的介面,這樣才能夠把MD和其它播放設備相連接,把播放的音頻輸入MD並且將其錄製到MD片上。而目前的NetMD產品還應具有USB介面,這樣才能夠和電腦相連接,從而能夠進行文件的傳輸。有的產品還具有麥克風的介面,可以把外部的聲音通過MD錄製下來。

介面介面
介面指的是MD產品具有哪些輸入輸出的介面。首先作為MD產品,耳機的輸出介面自然是必須有的。除了基本的耳機輸出介面之外,錄放型產品還應該具有線路輸入的介面,這樣才能夠把MD和其它播放設備相連接,把播放的音頻輸入MD並且將其錄製到MD片上。而目前的NetMD產品還應具有USB介面,這樣才能夠和電腦相連接,從而能夠進行文件的傳輸。有的產品還具有麥克風的介面,可以把外部的聲音通過MD錄製下來。雖然,介面種類豐富能夠擴大產品的功能,但是在實際的應用中還應按需進行選購。

1 介面 -介面類型

介面PCI介面
介面類型是指遊戲設備與電視機或電腦主機之間的介面類型。具體有與電視機相連的AV介面,與電腦主機相連的串口、USB介面、PCI介面、I-LINK(四針IEEE 1394介面)、連接音效卡的MIDI介面、無線介面等等。

硬碟介面是硬碟與主機系統間的連接部件,作用是在硬碟緩存和主機內存之間傳輸數據。不同的硬碟介面決定著硬碟與計算機之間的連接速度,在整個系統中,硬碟介面的優劣直接影響著程序運行快慢和系統性能好壞。從整體的角度上,硬碟介面分為IDE、SATA、SCSI和光纖通道四種,IDE介面硬碟多用於家用產品中,也部分應用於伺服器,SCSI介面的硬碟則主要應用於伺服器市場,而光纖通道只在高端伺服器上,價格昂貴。SATA是種新生的硬碟介面類型,還正出於市場普及階段,在家用市場中有著廣泛的前景。在IDE和SCSI的大類別下,又可以分出多種具體的介面類型,又各自擁有不同的技術規範,具備不同的傳輸速度,比如ATA100和SATA;Ultra160 SCSI和Ultra320 SCSI都代表著一種具體的硬碟介面,各自的速度差異也較大。

介面IDE介面
IDE介面

IDE的英文全稱為「Integrated Drive Electronics」,即「電子集成驅動器」,它的本意是指把「硬碟控制器」與「盤體」集成在一起的硬碟驅動器。把盤體與控制器集成在一起的做法減少了硬碟介面的電纜數目與長度,數據傳輸的可靠性得到了增強,硬碟製造起來變得更容易,因為硬碟生產廠商不需要再擔心自己的硬碟是否與其它廠商生產的控制器兼容。對用戶而言,硬碟安裝起來也更為方便。IDE這一介面技術從誕生至今就一直在不斷發展,性能也不斷的提高,其擁有的價格低廉、兼容性強的特點,為其造就了其它類型硬碟無法替代的地位。

IDE代表著硬碟的一種類型,但在實際的應用中,人們也習慣用IDE來稱呼最早出現IDE類型硬碟ATA-1,這種類型的介面隨著介面技術的發展已經被淘汰了,而其後發展分支出更多類型的硬碟介面,比如ATA、Ultra ATA、DMA、Ultra DMA等介面都屬於IDE硬碟。

介面SCSI介面
SCSI介面

SCSI的英文全稱為「Small Computer System Interface」(小型計算機系統介面),是同IDE(ATA)完全不同的介面,IDE介面是普通PC的標準介面,而SCSI並不是專門為硬碟設計的介面,是一種廣泛應用於小型機上的高速數據傳輸技術。SCSI介面具有應用範圍廣、多任務、帶寬大、CPU佔用率低,以及熱插拔等優點,但較高的價格使得它很難如IDE硬碟般普及,因此SCSI硬碟主要應用於中、高端伺服器和高檔工作站中。

光纖通道

光纖通道的英文拼寫是Fibre Channel,和SCSI介面一樣光纖通道最初也不是為硬碟設計開發的介面技術,是專門為網路系統設計的,但隨著存儲系統對速度的需求,才逐漸應用到硬碟系統中。光纖通道硬碟是為提高多硬碟存儲系統的速度和靈活性才開發的,它的出現大大提高了多硬碟系統的通信速度。光纖通道的主要特性有:熱插拔性、高速帶寬、遠程連接、連接設備數量大等。

光纖通道是為在像伺服器這樣的多硬碟系統環境而設計,能滿足高端工作站、伺服器、海量存儲子網路、外設間通過集線器、交換機和點對點連接進行雙向、串列數據通訊等系統對高數據傳輸率的要求。

介面SATA介面
SATA介面

使用SATA(Serial ATA)口的硬碟又叫串口硬碟,是未來PC機硬碟的趨勢。2001年,由Intel、APT、Dell、IBM、希捷、邁拓這幾大廠商組成的Serial ATA委員會正式確立了Serial ATA 1.0規範,2002年,雖然串列ATA的相關設備還未正式上市,但Serial ATA委員會已搶先確立了Serial ATA 2.0規範。Serial ATA採用串列連接方式,串列ATA匯流排使用嵌入式時鐘信號,具備了更強的糾錯能力,與以往相比其最大的區別在於能對傳輸指令(不僅僅是數據)進行檢查,如果發現錯誤會自動矯正,這在很大程度上提高了數據傳輸的可靠性。串列介面還具有結構簡單、支持熱插拔的優點。

支持Serial-ATA技術的標誌

串口硬碟是一種完全不同於并行ATA的新型硬碟介面類型,由於採用串列方式傳輸數據而知名。相對於并行ATA來說,就具有非常多的優勢。首先,Serial ATA以連續串列的方式傳送數據,一次只會傳送1位數據。這樣能減少SATA介面的針腳數目,使連接電纜數目變少,效率也會更高。實際上,Serial ATA 僅用四支針腳就能完成所有的工作,分別用於連接電纜、連接地線、發送數據和接收數據,同時這樣的架構還能降低系統能耗和減小系統複雜性。其次,Serial ATA的起點更高、發展潛力更大,Serial ATA 1.0定義的數據傳輸率可達150MB/s,這比目前最新的并行ATA(即ATA/133)所能達到133MB/s的最高數據傳輸率還高,而在Serial ATA 2.0的數據傳輸率將達到300MB/s,最終SATA將實現600MB/s的最高數據傳輸率。

數據線介面

行動電話作為一種小巧的攜帶型數字設備,具有攜帶方便、功能強大等優點,但儲存容量不大,時不時要將手機里的文件儲存到電腦里,這就涉及到與電腦連接方式的問題。數據傳輸介面是手機與個人電腦等其他設備之間進行連接的介面。憑此介面和其他設備之間能夠實現上傳下載、資料同步等功能。常見的數據傳輸介面有USB介面、串口、紅外線介面和藍牙介面等。

2 介面 -九大視頻介面全接觸

1 射頻

介面介面

天線和模擬閉路連接電視機就是採用射頻(RF)介面。作為最常見的視頻連接方式,它可同時傳輸模擬視頻以及音頻信號。RF介面傳輸的是視頻和音頻混合編碼后的信號,顯示設備的電路將混合編碼信號進行一系列分離、解碼在輸出成像。由於需要進行視頻、音頻混合編碼,信號會互相干擾,所以它的畫質輸出質量是所有介面中最差的。有線電視和衛星電視接收設備也常用RF連接,但這種情況下,它們傳輸的是數字信號。

2 複合視頻

介面介面

不像射頻介面那樣包含了音頻信號,複合視頻(Composite)通常採用黃色的RCA(蓮花插座)接頭。「複合」含義是同一通道中傳輸亮度和色度信號的模擬信號,但電視機如果不能很好的分離這兩種信號,就會出現虛影。

3 S端子

介面介面

S端子(S-Video)連接採用Y/C(亮度/色度)分離式輸出,使用四芯線傳送信號,介面為四針介面。介面中,兩針接地,另外兩針分別傳輸亮度和色度信號。因為分別傳送亮度和色度信號,S端子效果要好於複合視頻。不過S端子的抗干擾能力較弱,所以S端子線的長度最好不要超過7米。

4 色差

介面介面

色差(Component)通常標記為Y/Pb/Pr,用紅、綠、藍三種顏色來標註每條線纜和介面。綠色線纜(Y),傳輸亮度信號。藍色和紅色線纜(Pb和Pr)傳輸的是顏色差別信號。色差的效果要好於S端子,因此不少DVD以及高清播放設備上都採用該介面。如果使用優質的線材和介面,即使採用10米長的線纜,色差線也能傳輸優秀的畫面。

5 VGA

介面介面

VGA(Video Graphics Array)還有一個名稱叫D-Sub。VGA介面共有15針,分成3排,每排5個孔,是顯卡上應用最為廣泛的介面類型,絕大多數顯卡都帶有此種介面。它傳輸紅、綠、藍模擬信號以及同步信號(水平和垂直信號)。使用VGA連接設備,線纜長度最好不要超過10米,而且要注意接頭是否安裝牢固,否則可能引起圖像中出現虛影。

6 DVI

介面介面

DVI(Digital Visual Interface)介面與VGA都是電腦中最常用的介面,與VGA不同的是,DVI可以傳輸數字信號,不用再進過數模轉換,所以畫面質量非常高。目前,很多高清電視上也提供了DVI介面。需要注意的是,DVI介面有多種規範,常見的是DVI-D(Digital)和DVI-I(Intergrated)。DVI-D只能傳輸數字信號,大家可以用它來連接顯卡和平板電視。DVI-I則在DVI-D可以和VGA相互轉換。

7 HDMI

介面介面

HDMI(High Definition Multimedia Interface)介面是最近才出現的介面,它同DVI一樣是傳輸全數字信號的。不同的是HDMI介面不僅能傳輸高清數字視頻信號,還可以同時傳輸高質量的音頻信號。同時功能跟射頻介面相同,不過由於採用了全數字化的信號傳輸,不會像射頻介面那樣出現畫質不佳的情況。對於沒有HDMI介面的用戶,可以用適配器將HDMI介面轉換位DVI介面,但是這樣就失去了音頻信號。高質量的HDMI線材,即使長達20米,也能保證優質的畫質。

8 IEEE 1394

介面介面

1394也稱為火線或iLink,它能夠傳輸數字視頻和音頻及機器控制信號,具有較高的帶寬,且十分穩定。通常它主要用來連接數碼攝像機、DVD錄像機等設備。IEEE 1394介面有兩種類型:6針的六角形介面和4針的小型四角形介面。6針的六角形介面可向所連接的設備供電,而4針的四角形介面則不能。

9 BNC

介面介面

BNC(同軸電纜卡環形介面)介面主要用於連接高端家庭影院產品以及專業視頻設備。BNC電纜有5個連接頭,分別接收紅、綠、藍、水平同步和垂直同步信號。BNC接頭可以讓視頻信號互相間干擾減少,可達到最佳信號響應效果。此外,由於BNC介面的特殊設計,連接非常緊,不必擔心介面鬆動而產生接觸不良。

3 介面 -五類音頻介面全接觸

介面介面
除了高清視頻帶來的不僅僅是視覺上的衝擊,音頻方面質量也有很大提高,能給大家帶來更逼真的現場效果。那麼,目前主流的視頻介面有哪些呢?花老師將給一一講解市面上常見的音頻介面。

RCA模擬音頻

RCA接頭就是常說的蓮花頭,利用RCA線纜傳輸模擬信號是目前最普遍的音頻連接方式。每一根RCA線纜負責傳輸一個聲道的音頻信號,所以立體聲信號,需要使用一對線纜。對於多聲道系統,就要根據實際的聲道數量配以相同數量的線纜。立體聲RCA音頻介面,一般將右聲道用紅色標註,左聲道則用藍色或者白色標註。

S/PDIF

S/PDIF(Sony/Philips Digital Interface,索尼和飛利浦數字介面)是由SONY公司與PHILIPS公司聯合制定的一種數字音頻輸出介面。該介面廣泛應用在CD播放機、音效卡及家用電器等設備上,能改善CD的音質,給我們更純正的聽覺效果。該介面傳輸的是數字信號,所以不會像模擬信號那樣受到干擾而降低音頻質量。需要注意的是,S/PDIF介面是一種標準,同軸數字介面和光線介面都屬於S/PDIF介面的範疇。

數字同軸

數字同軸(Digital Coaxial)是利用S/PDIF介面輸出數字音頻的介面。同軸線纜有兩個同心導體,導體和屏蔽層共用同一軸心。同軸線纜是由絕緣材料隔離的銅線導體,阻抗為75歐姆,在裡層絕緣材料的外部是另一層環形導體及其絕緣體,整個電纜由聚氯乙烯或特氟綸材料的護套包住。同軸電纜的優點是阻抗穩定,傳輸帶寬高,保證了音頻的質量。雖然同軸數字線纜的標準接頭為BNC接頭,但市面上的同軸數字線材多採用RCA接頭。

光纖

光纖(Optical)以光脈衝的形式來傳輸數字信號,其材質以玻璃或有機玻璃為主。光纖同樣採用S/PDIF介面輸出,其是帶寬高,信號衰減小,常常用於連接DVD播放器和AV功放,支持PCM數字音頻信號、Dolby以及DTS音頻信號。

XLR介面

與RCA模擬音頻線纜直接傳輸聲音的方式完全不同,平衡模擬音頻(Balanced Analog Audio)介面使用兩個通道分別傳送信號相同而相位相反的信號。接收端設備將這兩組信號相減,干擾信號就被抵消掉,從而獲得高質量的模擬信號。平衡模擬音頻通常採用XLR介面和大三芯介面。XLR俗稱卡儂頭,有三針插頭和鎖定裝置組成。由於採用了鎖定裝置,XLR連接相當牢靠。大三芯介面則採用直徑為6.35毫米的插頭,其優點是耐磨損,適合反覆插拔。平衡模擬音頻連接主要出現在高級模擬音響器材或專業音頻設備上。

4 介面 -介面方式

介面指MP3播放器與電腦的連接方式。介面技術是MP3播放器的最重要的指標之一,介面的速度、方便程度自然也會影響到MP3的實用性和上傳或下載歌曲的速率。

MP3播放器常見介面包括並口(EPP)、USB介面和IEEE 1394介面,早期的一般是並口,由於傳輸速度的限制,並口的MP3已被淘汰。如今市面上的MP3介面基本是USB介面了,優點在於傳輸速率快和支持熱插拔。還有一類特殊的硬碟式MP3使用1394介面,隨著MP3容量的增大,相信在這方面會有更多人關注,因為速度越快,在容量大的機器上就體現出它的好處了。

三種介面方式的對比

介面介面

5 介面 -HDMI介面

HDMI是新一代的多媒體介面標準,全稱是High-Definition Multimedia Interface,中文意思為高清晰多媒體介面,該標準由索尼、日立、松下、飛利浦、東芝、Silicon image、Thomson (RCA)等7家公司在2002年4月開始發起的。

HDMI是新一代的多媒體介面標準,全稱是High-Definition Multimedia Interface,中文意思為高清晰多媒體介面,該標準由索尼、日立、松下、飛利浦、東芝、Silicon image、Thomson (RCA)等7家公司在2002年4月開始發起的。其產生是為了取代傳統的DVD碟機、電視及其它視頻輸出設備的已有介面,統一併簡化用戶終端接線,並提供更高帶寬的數據傳輸速度和數字化無損傳送音視頻信號。

2002年12月,7家公司正式推出了HDMI 1.0規格。

2004年5月,HDMI 1.1規格發布。

2005年8月,推出了HDMI的1.2版,為了更好的兼容PC系統,1.2版增加了若干條非常重要的改進,以方便PC連接和數字音頻流等的傳輸。

2005年12月,推出HDMI 1.2a標準增加了CEC功能,並且完善了測試規範,CEC功能可以通過一個遙控器對所有家庭娛樂設備進行控制。

2006年5月22日,制定HDMI標準的7家企業共同宣布了HDMI 1.3,新標準將帶寬和速率都提升了2倍以上,達到了340MHz的帶寬和10.2Gbps速率,以滿足最新的1440P/WAXGA解析度的要求。

傳統的AV複合和色差介面都需要獨立分開音頻和視頻數據線來傳輸信號,同為數字介面的DVI介面則並不支持音頻傳輸,目前唯有HDMI具備了在一條數據線上同時傳送影音信號的能力,因此人們也習慣把HDMI稱為高清一線通。

提起數碼產品的介面,大家都能列舉出一大片,什麼S端子、AV端子、色差分量介面、VGA介面、DVI介面……而說到HDMI數字信號介面,消費者更不會陌生,作為最新一代的數字介面,HDMI已經廣泛應用於各種數碼產品上,不管是平板電視、DVD碟機、高清播放機,還是投影儀、數碼攝像機、液晶顯示器,以及藍光DVD和HD DVD,都少不了HDMI數字信號介面的身影。

消費者對HDMI介面的優點都非常了解,這裡筆者也不準備再多介紹,提起為何HDMI介面有這些優點可能大家就不清楚了,HDMI介面在數據的保密技術上的優勢獲得了眾多企業的推崇,那麼到底其又有何特點,下面將給大家一一解開謎底。

介面介面

HDMI的基本傳輸原理

HDMI(High-Definition Multimedia Interface)又被稱為高清晰度多媒體介面,是首個支持在單線纜上傳輸,不經過壓縮的全數字高清晰度、多聲道音頻和智能格式與控制命令數據的數字介面。HDMI介面由Silicon Image美國晶像公司倡導,聯合索尼、日立、松下、飛利浦、湯姆遜、東芝等八家著名的消費類電子製造商聯合成立的工作組共同開發的。HDMI最早的介面規範HDMI1.0於2002年12月公布,目前的最高版本是於今年6月發布的HDMI1.3規範。

HDMI源於DVI介面技術,它們主要是以美國晶像公司的TMDS信號傳輸技術為核心,這也就是為何HDMI介面和DVI介面能夠通過轉接頭相互轉換的原因。美國晶像公司是HDMI八個發起者中唯一的集成電路設計製造公司,是高速串列數據傳輸技術領域的領導廠商,因為下面要提到的TMDS信號傳輸技術就是它們開發出來的,所以這裡稍微提及一下。

TMDS(Transition Minimized Differential Signaling)也被稱為最小化傳輸差分信號,是指通過異或及異或非等邏輯演算法將原始信號數據轉換成10位,前8為數據由原始信號經運算后獲得,第9位指示運算的方式,第10位用來對應直流平衡(DC-balanced,就是指在編碼過程中保證通道中直流偏移為零,電平轉化實現不同邏輯介面間的匹配),轉換后的數據以差分傳動方式傳送。這種演算法使得被傳輸信號過渡過程的上沖和下沖減小,傳輸的數據趨於直流平衡,使信號對傳輸線的電磁干擾減少,提高信號傳輸的速度和可靠性。

一般情況下,HDMI連接由一對信號源和接受器組成,有時候一個系統中也可以包含多個HDMI輸入或者輸出設備。每個HDMI信號輸入介面都可以依據標準接收連接器的信息,同樣信號輸出介面也會攜帶所有的信號信息。HDMI數據線和接收器包括三個不同的TMDS數據信息通道和一個時鐘通道,這些通道支持視頻、音頻數據和附加信息,視頻、音頻數據和附加信息通過三個通道傳送到接收器上,而視頻的像素時鐘則通過TMDS時鐘通道傳送,接收器接受這個頻率參數之後,再還原另外三個數據信息通道傳遞過來的信息。

視頻和音頻信號傳輸

HDMI輸入的源編碼格式包括視頻像素數據、控制數據和數據包。其中數據包中包含有音頻數據和輔助信息數據,同時HDMI為了獲得聲音數據和控制數據的高可靠性,數據包中還包括一個BCH錯誤糾正碼。HDMI的數據信息的處理可以有多種不同的方式,但最終都是在每一個TMDS通道中包含2位的控制數據、8位的視頻數據和4位的數據包。HDMI的數據傳輸過程可以分成三個部分:視頻數據傳輸期、島嶼數據傳輸期和控制數據傳輸期。

介面介面

 

HDMI數據傳輸示意圖,HDMI有三個TMDS數據信息通道

視頻數據傳輸期,HDMI數據線上傳送視頻像素信號,視頻信號經過編碼,生成3路(即3個TMDS數據信息通道,每路8位)共24位的視頻數據流,輸入到HDMI發射器中。24位像素的視頻信號通過TMDS通道傳輸,將每通道8位的信號編碼轉換為10位,在每個10位像素時鐘周期傳送一個最小化的信號序列,視頻信號被調製為TMDS數據信號傳送出去,最後到接受器中接收。

島嶼數據傳輸期,TMDS通道上將出現音頻數據和輔助數據,這些數據每4位被一組,構成一個上面提到的4位數據包,數據包和視頻數據一樣,被調製為10位一組的的TMDS信號后發出。視頻數據傳輸期和島嶼數據傳輸期均開始於一個Guard Band保護頻帶,Guard Band由2個特殊的字元組成,這樣設計的目的在於在明確限定控制數據傳輸期之後的跳轉是視頻數據傳輸期。

介面介面

 

HDMI的數據傳輸周期示意圖:左到右分別為控制數據傳輸期、島嶼數據傳輸期、視頻數據傳輸期

控制數據傳輸期,在上面任意兩個數據傳輸周期之間,每一個TMDS通道包含2位的控制數據,這一共6位的控制數據分別為HSYNC(行同步)、VSYNC(場同步)、CTL0、CTL1、CTL2和CTL3。每個TMDS通道包含2位的控制數據,採用從2位到10位的的編碼方法,在每個控制周期最後的階段,CTL0、CTL1、CTL2和CTL3組成的文件頭,說明下一個周期是視頻數據傳輸期還是島嶼數據傳輸期。

島嶼數據和控制數據的傳輸是在視頻數據傳輸的消隱期,這意味著在傳輸音頻數據和其他輔助數據的時候,並不會佔據視頻數據傳輸的帶寬,並且也不要一個單獨的通道來傳輸音頻數據和其他輔助數據,這也就是為什麼一根HDMI數據線可以同時傳輸視頻信號和音頻信號的原因。

HDMI的高音視頻帶寬

HDMI的數據信息的處理可以有多種不同的方式,也就是說HMDI支持多種方式的視頻編碼,通過對3個TMDS數據信息通道的合理分配,既可以傳輸RGB數字色度分量的4:4:4信號,也可以傳輸YCbCr數字色差分量的4:2:2信號,最高可滿足24位視頻信號的傳輸需要。

HDMI每個TMDS通道視頻像素流的速率一般在25MHz~165MHz之間,HDMI1.3規範已經將這一上限提升到了225MHz,當視頻格式的速率低於25MHz時,將使用像素重複法來傳輸,即視頻流中的像素被重複使用。以每個TMDS通道最高165MHz的頻率計算,3個TMDS通道傳輸R/G/B或者Y/Cb/Cr格式編碼的24位像素視頻數據,最高帶寬可以達到4.95Gbps,實際視頻信號傳輸帶寬接近4Gbps,而現在最高規格的高清視頻格式1080p所需的帶寬僅僅為2.2Gbps,因此HDMI擁有的充足帶寬不僅可以滿足現在高清視頻的需要,在今後相當長一段時間內都可以提供對更高清晰度視頻格式的支持。

除了高的視頻信號帶寬之外,HDMI還在協議中加入了對音頻信號傳輸的支持,形成了業界首個單線纜多媒體介面協議。HDMI的音頻信號不佔用額外的通道,而是採用和其他輔助信息一起組成數據包,利用3個TMDS通道在視頻信號傳輸的消隱期,以島嶼數據的形式傳送。即使在傳輸1080p(60Hz)的視頻信號的時候,還可以提供最高8路,每路採樣頻率192kHz的高質量音頻信號,相比之下,CD音頻制式44.1kHz的兩聲道信號,以及最新的DVD-Audio音頻格式96kHz的6聲道信號,就相形見絀了。

  

6 介面 -計算機程序語言里的介面

  同一計算機不同功能層之間的通信規則稱為介面。
  對協定進行定義的引用類型。其他類型實現介面,以保證它們支持某些操作。介面指定必須由類提供的成員或實現它的其他介面。與類相似,介面可以包含方法、屬性、索引器和事件作為成員。 
  介面中可以聲明屬性、方法、事件和類型(Structure),(但不能聲明變數),但是並不能設置這些成員的具體值,也就是說,只能定義,不能給它裡面定義的東西賦值。
  下面是個 VB.NET 2003 的例子
  在 VB.NET 的類里,實現一個介面的語句是:
  implements 介面名稱
  例如,下面定義一個車(總稱)的介面,這裡的車是各種車的總稱:
  Public Interface ICar
  Property color() As String
  Property speed() As Long
  Sub PrintInfo()
  End Interface
  然後在不同類型的「車」類里實現它:
  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()
  運行之後就創建了一個 A_Car 類的實例 myCar,然後出現兩個對話框,分別說明實例已經創建和汽車的信息。當窗體卸載時,這個類的實例 myCar 將自動銷毀,這時將出現一個「I was deconstructed!」的對話框。
  

聲明一個介面時,需要考慮以下幾點:

   1.介面主體只限於對方法,索引器以及屬性的聲明;
  2.介面成員是隱式公開的,如果對其顯式指定訪問級別,就會出現編譯器錯誤;
  3.介面中不能包含欄位,構造函數和常量等;
  4.在介面中不能實現任何方法,屬性或者索引器;
  5.在指定方法時,只需要給出返回類型,名稱和參數列表,然後分號結束。
  

面向對象的介面

   在C++中,一個類被允許繼承多個類。但是在Java以後的語言不被允許。
  這樣,如果想繼承多個類時便非常困難。所以開發方想出了新辦法:介面。
  一個介面內,允許包含變數、常量等一個類所包含的基本內容。但是,介面中的函數不允許設定代碼,也就意味著不能把程序入口放到介面里。由上可以理解到,介面是專門被繼承的。介面存在的意義也是被繼承。和C++里的抽象類里的純虛函數是相同的。不能被實例化。
  定義介面的關鍵字是interface,例如:
  public interface MyInterface{
  public void add(int x,int y);
  public void volume(int x,int y,int z);
  }
  繼承介面的關鍵字是implements,相當於繼承類的extends。
  需要注意的是,當繼承一個介面時,介面里的所有函數必須全部被覆蓋。例如:
  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);
  }
  }
  輸出結果:
  30
  1000
  當想繼承多個類時,開發程序不允許,報錯。這樣就要用到介面。因為介面允許多重繼承(,),而類不允許。所以就要用到介面。
  

Java裡面的介面

   Java裡面由於不允許多重繼承,所以如果要實現多個類的功能,則可以通過實現多個介面來實現。
  Java介面和Java抽象類代表的就是抽象類型,就是我們需要提出的抽象層的具體表現。OOP面向對象的編程,如果要提高程序的復用率,增加程序的可維護性,可擴展性,就必須是面向介面的編程,面向抽象的編程,正確地使用介面、抽象類這些太有用的抽象類型做為你結構層次上的頂層。
  Java介面和Java抽象類有太多相似的地方,又有太多特別的地方,究竟在什麼地方,才是它們的最佳位置呢?把它們比較一下,你就可以發現了。
  1、Java介面和Java抽象類最大的一個區別,就在於Java抽象類可以提供某些方法的部分實現,而Java介面不可以,這大概就是Java抽象類唯一的優點吧,但這個優點非常有用。如果向一個抽象類里加入一個新的具體方法時,那麼它所有的子類都一下子都得到了這個新方法,而Java介面做不到這一點,如果向一個Java介面里加入一個新方法,所有實現這個介面的類就無法成功通過編譯了,因為你必須讓每一個類都再實現這個方法才行,這顯然是Java介面的缺點。
  2、一個抽象類的實現只能由這個抽象類的子類給出,也就是說,這個實現處在抽象類所定義出的繼承的等級結構中,而由於Java語言的單繼承性,所以抽象類作為類型定義工具的效能大打折扣。在這一點上,Java介面的優勢就出來了,任何一個實現了一個Java介面所規定的方法的類都可以具有這個介面的類型,而一個類可以實現任意多個Java介面,從而這個類就有了多種類型。
  3、從第2點不難看出,Java介面是定義混合類型的理想工具,混合類表明一個類不僅僅具有某個主類型的行為,而且具有其他的次要行為。

7 介面 -參考資料


http://hi.baidu.com/enut2006/blog/item/b9434543ff6c18159213c67a.html

http://detail.zol.com.cn/product_param/index46.html

相關評論

同義詞:暫無同義詞