關於接口
<1>接口的內容:方法,屬性,索引器,事件。
<2>接口成員自動是public,abstract,不能添加任何修飾符
<3>接口的本質上是為了繼承,當隱式的實現了接口的方法,就不能再被重寫了。
<4>顯式的接口不能用public,abstract去修飾,顯式接口永遠不能被重寫。
<5>顯式接口調用的時候只能通過接口自己去調用。示例:
namespace ConsoleApplication10Inter
{
interface Interd1
{
void draw();
}
interface Interd2
{
void draw();
}
class Class2 : Interd1,Interd2
{
void Interd1.draw()
{
Console.WriteLine("draw in interface1");
}
void Interd2.draw()
{
Console.WriteLine("draw in interface2");
}
}
class Program
{
static void Main(string[] args)
{
Class2 T = new Class2();
Interd1 d1 = (Interd1)T;
d1.draw();
Interd2 d2 = (Interd2)T;
d2.draw();
}
}
}<6>
接口類似於抽象基類:實現接口的任何非抽象類型都必須實現接口的所有成員。
不能直接實例化接口。
接口可以包含事件、索引器、方法和屬性。
接口不包含方法的實現。
類和結構可繼承多個接口。
接口自身可從多個接口繼承。