C#每日一課(二十)
阿新 • • 發佈:2018-11-04
-
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.在實際呼叫時編譯器根據實際呼叫的類來確定具體的實現(動態多型實現)