C#中的介面

來源:互聯網
上載者:User

標籤:格式   clipboard   font   color   多重繼承   中繼   mic   assets   定義   

 一、介面的定義

        介面是一種參考型別,類似於抽象類別,主要用來定義一些必須實現的功能。一旦定義了一個介面,而且定義了一個實現這個介面的類,使用這些類的使用者就可以完成介面定義的功能。簡單的說,介面就是一種模板,裡面定義了一些方法和屬性。而一個類要實現它,就必須要把介面所有的方法和屬性都實現。

        二、介面的聲明       

        ?[存取修飾詞] interface <介面名>

        {

          //聲明主體

        }

        例:

        interface IControl

        {

         void Paint();

        }

        註:在介面中包含的屬性和方法僅僅是一個聲明,不能包含它們的實現,在C#中的介面成員隱含是public,不能再加除new之外的其他修飾符。

        三、介面實現

        聲明了一個介面只是定義了一些功能,或者說定義了要完成一些功能的契約,要使用這個功能,還必須用類來實現這個介面。

        介面實現舉例:

       

[csharp] view plain copy  
  1. <span style="font-family:Microsoft YaHei;font-size:18px;color:#000000;">    interface INumber//定義介面  
  2.      {  
  3.         int x  
  4.         {  
  5.         get;  
  6.         set;  
  7.         }  
  8.     }    
  9.     class Number : INumber  
  10.     {  
  11.         private int myx;  
  12.         public Number(int x)  
  13.         {  
  14.             myx = x;  
  15.         }  
  16.         public int x//對介面中屬性X的實現  
  17.           {  
  18.             get { return myx; }  
  19.             set { myx = value; }  
  20.         }  
  21.     }</span>  
[csharp] view plain copy  
  1. <span style="font-family:Microsoft YaHei;font-size:18px;color:#000000;">    class AppMain  
  2.     {  
  3.         private static void WriteX(INumber p)  
  4.         {  
  5.             Console.WriteLine("x={0}", p.x);  
  6.         }  
  7.         static void Main()  
  8.         {  
  9.             Number p = new Number(1);  
  10.             WriteX(p);  
  11.             string str = Console.ReadLine();  
  12.         }  
  13.     }</span>  

        四、介面的多重繼承

        C# 不允許多重類繼承,但 C# 允許多重介面實現,這意味著一個類可以實現多個介面。  

        ·介面可以從一個或多個父介面中繼承,格式如下:

        interface  MyInterface: Ibase1,Ibase2

        { …..}

        ·介面有類來實現時,格式如下:

       class   類名: 父類,介面1,介面2,….,介面n

        { …..}

C#中的介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.