【學習筆記】c#中接口的實例化


在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

未完…

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM