NetFramework接口的實(shí)現(xiàn)方法有哪些

Net Framework接口的實(shí)現(xiàn)方法有哪些,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

10余年的蘆淞網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整蘆淞建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“蘆淞網(wǎng)站設(shè)計(jì)”,“蘆淞網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

.Net Framework可以我們提供一個(gè)部署WEB應(yīng)用程序的平臺(tái)。它的出現(xiàn)就是為了幫助開發(fā)人員提供良好的編程環(huán)境,以助開發(fā)人員提高自己的程序開發(fā)效率。我們見天將會(huì)了解到的是.Net Framework接口的相關(guān)操作方法。

接口繼承:類型繼承的是接口中的方法簽名,而非方法實(shí)現(xiàn)。

當(dāng)一個(gè)類型繼承了一個(gè)接口時(shí),它只是在允諾提供其中的方法實(shí)現(xiàn):如果沒有提供,則該類型將被認(rèn)為是抽象的,從而不可能被實(shí)例化。

.Net Framework接口僅僅是一個(gè)包含著一組虛方法的抽象類型,其中每一個(gè)方法都有他們的名稱、參數(shù)和返回值類型。但接口方法不包括任何實(shí)現(xiàn)。

接口也可以定義事件、無參屬性以及含參屬性,因?yàn)樗鼈兌贾徊贿^是映射到方法上的語法縮寫而已。

如果在一個(gè)類型內(nèi)實(shí)現(xiàn)接口方法的時(shí)候忽略了virtual關(guān)鍵字,那么該方法將被認(rèn)為是一個(gè)密封的虛方法,繼承了該實(shí)現(xiàn)類型的其他類型將不可以再重寫該方法。

當(dāng)一個(gè)類型“繼承”某個(gè)接口時(shí),它不僅要實(shí)現(xiàn)該接口定義的所有方法,還要實(shí)現(xiàn)該接口從其他接口中“繼承”而來的所有方法。

實(shí)現(xiàn)了多個(gè)接口的類型允許我們將它的對(duì)象看作這些接口中的任何一個(gè)。

.Net Framework接口舉例:

1.使用接口改變已裝箱值類型中的字段

  1. struct Point  

  2. {  

  3. public int x,y;  

  4. public void Change(int x,int y)   

  5. {  

  6. this.x=x; this.y=y;  

  7. }  

  8. public override String ToString()   

  9. {  

  10. return String.Format("({0},{1})",x,y);  

  11. }  

  12. }  

  13. class Program  

  14. {  

  15. static void Main(string[] args)  

  16. {  

  17. Point p=new Point();  

  18. pp.x=p.y=1;  

  19. p.Change(2,2);  

  20. Console.Write(p); //實(shí)現(xiàn)System.
    Iformattable接口,調(diào)用ToString方法  

  21. Object o=p; //o指向裝箱后的Point對(duì)象,顯示(2,2)  

  22. Console.Write(o);  

  23. ((Point) o).Change(3,3);   

  24. Console.Write(o); //拆箱,將已裝箱Point
    中的字段拷貝到線程堆棧上的一個(gè)臨時(shí) Point中,
    這個(gè)臨時(shí)Point上的字段值改為3,但已裝箱的Point
    對(duì)象不受這種改變的影響,顯示(2,2)   

  25. }  

問題出現(xiàn)了,C#不允許我們改變已裝箱值類型中的字段,下面利用.Net Framework接口做一個(gè)修訂:

  1. interface IChangeBoxedPoint  

  2. {  

  3. void Change(Int32 x, Int32 y);  

  4. }  

  5. struct Point : IChangeBoxedPoint  

  6. {  

  7. public Int32 x, y;  

  8. public void Change(Int32 x, Int32 y)  

  9. {  

  10. this.x = x; this.y = y;  

  11. }  

  12. /**//*.*/  

  13. }  

  14. class App  

  15. {  

  16. static void Main()  

  17. {  

  18. Point p=new Point();  

  19. object o=new object();  

  20. /**//*.*/  

  21. ((IChangeBoxedPoint)p).Change(4, 4); 

  22. //p裝箱,改變已裝箱對(duì)象,但當(dāng)Change返回后,
    已裝箱對(duì)象立即被垃圾回收  

  23. Console.WriteLine(p); //(2,2)  

  24. ((IChangeBoxedPoint)o).Change(5, 5); 

  25. //這里沒有裝箱的必要,于是改變已裝箱對(duì)象Point的值  

  26. Console.WriteLine(o); //(5,5) 
    C#中沒有接口方法做不到這一點(diǎn)  

  27. }  

2.顯示.Net Framework接口成員的實(shí)現(xiàn)

public interface IComparable  {  Int32 CompareTo(object other);  }  struct SomeValueType:IComparable  {  private Int32 x;  public SomeValueType(Int32 x) { this.x = x; }  public Int32 CompareTo(SomeValueType other)  {  return (x - other.x);  }  Int32 IComparable.CompareTo(object other)  {  return CompareTo((SomeValueType)other);  }  }  public static void Main()  {  SomeValueType v1 = new SomeValueType(1);  SomeValueType v2 = new SomeValueType(2);  Int32 n;  n= v1.CompareTo(v2); //不進(jìn)行任何裝箱  n = ((IComparable)v1).CompareTo(v2); //v2強(qiáng)制裝箱  }

注意三點(diǎn):

a.CompareTo方法的名字前加了接口限定名IComparable.CompareTo,它告訴CLR只有在使用一個(gè)IComparable對(duì)象引用時(shí)方法才被調(diào)用

b.IComparable.CompareTo的實(shí)現(xiàn)是將other轉(zhuǎn)型為SomeValueType后,通過調(diào)用CompareTo方法來完成的

c.IComparable.CompareTo方法前沒有public或protected訪問修飾符

顯示.Net Framework接口方法的好處:類型安全,減少裝箱操作。

看完上述內(nèi)容,你們掌握Net Framework接口的實(shí)現(xiàn)方法有哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站題目:NetFramework接口的實(shí)現(xiàn)方法有哪些
分享URL:http://muchs.cn/article38/geopsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)品牌網(wǎng)站建設(shè)、網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、商城網(wǎng)站、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管