日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Interface接口學(xué)習(xí)總結(jié)淺析

Interface接口的主要功能是什么呢?我們經(jīng)常在編程時(shí)使用的Interface接口那么作用是什么?Interface接口可定義的類是什么?下面我們一一介紹。

1. 接口描述的是可屬于任何類或結(jié)構(gòu)的一組相關(guān)功能:

◆接口可由方法、屬性、事件、索引器或這四種成員類型的任意組合構(gòu)成。

◆接口不能包含字段。

◆接口成員一定是公共的。

◆若要實(shí)現(xiàn)接口成員,類中的對(duì)應(yīng)成員必須是公共的、非靜態(tài)的,并且與接口成員具有相同的名稱和簽名。類的屬性和索引器可以為接口上定義的屬性或索引器定義額外的訪問(wèn)器。例如,接口可以聲明一個(gè)帶有 get 訪問(wèn)器的屬性,而實(shí)現(xiàn)該接口的類可以聲明同時(shí)帶有 get 和 set 訪問(wèn)器的同一屬性。但是,如果屬性或索引器使用顯式實(shí)現(xiàn),則訪問(wèn)器必須匹配。

2. 接口可定義的類容:

隱式接口:如果類或者結(jié)構(gòu)要實(shí)現(xiàn)的是單個(gè)接口,可以使用隱式實(shí)現(xiàn)。

顯式接口:如果類或者結(jié)構(gòu)繼承了多個(gè)接口那么接口中相同名稱成員就要顯式實(shí)現(xiàn)。顯式實(shí)現(xiàn)是通過(guò)使用接口的完全限定名來(lái)實(shí)現(xiàn)接口成員的。

使用顯式接口目的:

1、因?yàn)轱@式接口成員執(zhí)行體不能通過(guò)類的實(shí)例進(jìn)行訪問(wèn),這就可以從公有接口中把接口的實(shí)現(xiàn)部分單獨(dú)分離開(kāi)。如果一個(gè)類只在內(nèi)部使用該接口,而類的使用者不會(huì)直接使用到該接口,這種顯式接口成員執(zhí)行體就可以起到作用。

2、顯式接口成員執(zhí)行體避免了接口成員之間因?yàn)橥l(fā)生混淆。如果一個(gè)類希望對(duì)名稱和返回類型相同的接口成員采用不同的實(shí)現(xiàn)方式,這就必須要使用到顯式接口成員執(zhí)行體。如果沒(méi)有顯式接口成員執(zhí)行體,那么對(duì)于名稱和返回類型不同的接口成員,類也無(wú)法進(jìn)行實(shí)現(xiàn)。

隱式接口:

如果類實(shí)現(xiàn)兩個(gè)接口,并且這兩個(gè)接口包含具有相同簽名的成員,那么在類中實(shí)現(xiàn)該成員將導(dǎo)致兩個(gè)接口都使用該成員作為它們的實(shí)現(xiàn)。例如:

C#

 
 
 
 
  1. interface IControl  
  2.  
  3. {  
  4.  
  5. void Paint();  
  6.  
  7. }  
  8.  
  9. interface ISurface  
  10.  
  11. {  
  12.  
  13. void Paint();  
  14.  
  15. }  
  16. class SampleClass : IControl, ISurface  
  17.  
  18. {  
  19.  
  20. // Both ISurface.Paint and IControl.Paint call this method.  
  21.  
  22. public void Paint()  
  23.  
  24. {  
  25.  
  26. }  
  27.  
  28. }  

調(diào)用:可以直接調(diào)用

顯式接口:

如果兩個(gè)接口成員執(zhí)行不同的函數(shù),那么這可能會(huì)導(dǎo)致其中一個(gè)接口的實(shí)現(xiàn)不正確或兩個(gè)接口的實(shí)現(xiàn)都不正確??梢燥@式地實(shí)現(xiàn)接口成員 -- 即創(chuàng)建一個(gè)僅通過(guò)該接口調(diào)用并且特定于該接口的類成員。這是使用接口名稱和一個(gè)句點(diǎn)命名該類成員來(lái)實(shí)現(xiàn)的。例如:

C# 

 
 
 
 
  1. public class SampleClass : IControl, ISurface  
  2.  
  3. {  
  4.  
  5. void IControl.Paint()  
  6.  
  7. {  
  8.  
  9. System.Console.WriteLine("IControl.Paint");  
  10.  
  11. }  
  12.  
  13. void ISurface.Paint()  
  14.  
  15. {  
  16.  
  17. System.Console.WriteLine("ISurface.Paint");  
  18.  
  19. }  
  20. }  

調(diào)用:只能通過(guò)接口來(lái)調(diào)用。

Interface接口的基本內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)Interface接口有所幫助。

【編輯推薦】

  1. C# interface使用實(shí)例分析
  2. 淺析abstract class和interface的不同
  3. 詳解abstract class和interface的本質(zhì)
  4. 關(guān)于interface繼承來(lái)源的討論
  5. C# Fluent Interface概念實(shí)例淺析

新聞標(biāo)題:Interface接口學(xué)習(xí)總結(jié)淺析
當(dāng)前路徑:http://www.dlmjj.cn/article/djighjg.html