1. 程式人生 > >C#每日一課(二十)

C#每日一課(二十)

  • C#介面
    介面定義了所有類繼承時需要遵守的規則,介面定義的是這個規則是什麼,派生類則定義出這個規則怎麼做。
    介面只能包含成員的宣告,成員的定義需要由派生類來進行實現。
    抽象類與介面類似,但是它更適用於只有部分方法需要由派生類實現時。

  • 宣告介面
    介面宣告使用interface關鍵字宣告,與類的宣告相似,預設為public的,其中的方法都只做宣告無具體的實現
    如:

public interface A
{
	//介面成員
	void toDo1();
	string toDo2();
}

在Visual Studio中新增C#控制檯應用程式chapter15_001
新增介面Person

namespace chapter15_001
{
    interface Person
    {
        void toDo();
    }
}

新增派生類Student

namespace chapter15_001
{
    class Student : Person
    {
        public void toDo()
        {
            Console.WriteLine("Student,doSomething~~~~");
        }
    }
}

新增派生類Teacher

namespace chapter15_001
{
   class Teacher : Person
   {
       public void toDo()
       {
           Console.WriteLine("Teacher,doSomething~~~~");
       }
   }
}

在Main方法中進行測試呼叫

static void Main(string[] args)
{
       Student stu = new Student();
       Teacher tea = new Teacher();

       stu.toDo();
       tea.toDo();
       Console.ReadKey();
}

編譯執行結果如下:
編譯執行結果
從上面的例項可以看到
1.介面中對方法做定義
2.需要在派生類中對介面定義的所有方法定義具體的實現
3.在實際呼叫時編譯器根據實際呼叫的類來確定具體的實現(動態多型實現)