程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#接口學習

c#接口學習

編輯:C#入門知識

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
 
namespace ConsoleApplication1 

/*接口只聲明、無實現、不能實例化;
接口可包含方法、屬性、事件、索引器, 但無字段;
接口成員都是隱式的 public, 不要使用訪問修飾符;
 
類、結構和接口都可以繼承多個接口;
繼承接口的類必須實現接口成員, 除非是抽象類;
類實現的接口成員須是公共的、非靜態的.*/ 
 
   // 定義接口 
    interface Myinterface 
    {  
        //在接口裡面聲明一個方法, 沒有實現. 也不能有實現 
        int Num(int i, int s); 
    } 
 
    // 實現接口 
    class MyClass : Myinterface 
    { 
       public int Num(int i, int s) //由於接口裡面的成員都是public 所以實現的時候也要是public , 否則會報錯. 
        { return i + s; } 
    } 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
    //下面試試一個接口多個實現. 
 
    interface Myinterface1 
    { 
        int Num(int i, int s); 
    } 
    // 多個實現. 
    class Add : Myinterface1  // 實現1 加法 
    { 
        public int Num(int i, int s) 
        { return i + s; } 
    } 
 
    // 實現2  減法 
    class Sub : Myinterface1 
    { 
        public int Num(int i, int s) 
        { return i - s; } 
    } 
     
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
     
    // 多個接口一個類實現. 
    interface face 
    { int Num(int i, int s);} 
    interface face1 
    { int Num(int i, int s);} 
    // 一個類來實現兩個接口,並且顯示的實現. 
    /* 顯示實現接口不需要訪問修飾符; 但顯示實現的方法只能通過接口訪問 */ 
    class MyFace : face, face1 
    { int face.Num(int i, int s) { return i + s; } // 實現第一個.  
      int face1.Num(int i, int s) { return i - s; } // 實現第二個. 
    } 
     
 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            //單個接口單個實現 
            MyClass My = new MyClass(); 
            Console.WriteLine(My.Num(10, 9)); // 19 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
            //一個接口的多個實現. 
            Add jiafa = new Add(); 
            Console.WriteLine(jiafa.Num(56,35)); //91 
            Sub jianfa = new Sub(); 
            Console.WriteLine(jianfa.Num(56,35));//21 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
            // 多個接口一個類實現. 只能通過接口訪問. 
            face  Myjiafa = new MyFace(); 
            face1 Myjianfa = new MyFace(); 
            Console.WriteLine(Myjiafa.Num(20,10));//30 
            Console.WriteLine(Myjianfa.Num(20,10));//10 
             
        } 
    } 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved