在c#中接口的实例可以引用实现了该接口的类。
如下:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace InterfaceTest { 8 interface IMyInterface { 9 void AMethod(); 10 } 11 class Test : IMyInterface { 12 public void AMethod() { 13 Console.WriteLine("Extends from IMyInterface"); 14 } 15 16 } 17 18 class Program { 19 static void Main(string[] args) { 20 IMyInterface a = new Test(); 21 a.AMethod(); 22 Console.ReadKey(); 23 } 24 25 } 26 }
执行结果输出:
Extends from IMyInterface
目前已经知道的用处,如果实例化的接口引用继承自同一个接口的不同的类,这个实例就可以调用这些类实现的该接口的所有方法。
如下:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace InterfaceTest { 8 interface IMyInterface { 9 void AMethod(); 10 } 11 class Test : IMyInterface { 12 public void AMethod() { 13 Console.WriteLine("Extends from IMyInterface in Test1"); 14 } 15 16 } 17 class Test2 : IMyInterface { 18 public void AMethod() { 19 Console.WriteLine("Extends from IMyInterface in Test2"); 20 } 21 22 } 23 24 class Program { 25 static void Main(string[] args) { 26 IMyInterface a = new Test(); 27 IMyInterface b=new Test2(); 28 a.AMethod(); 29 b.AMethod(); 30 Console.ReadKey(); 31 } 32 33 } 34 }
执行结果如下:
Extends from IMyInterface in Test1
Extends from IMyInterface in Test2
未完…