關於接口
<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>
接口類似於抽象基類:實現接口的任何非抽象類型都必須實現接口的所有成員。
不能直接實例化接口。
接口可以包含事件、索引器、方法和屬性。
接口不包含方法的實現。
類和結構可繼承多個接口。
接口自身可從多個接口繼承。