1、介面: 介面與抽象類一樣,也是表示某種規則,一旦使用了該規則,就必須實現相關的方法。對於C#語言而言,由於只能繼承自一個父類,因此若有多個規則需要實現,則使用介面是個比較好的做法。 2、介面的定義 interface 介面名 { 方法聲明; } 3、不同介面中若有多個相同名稱的方法,則需要顯式指
1、介面: 介面與抽象類一樣,也是表示某種規則,一旦使用了該規則,就必須實現相關的方法。對於C#語言而言,由於只能繼承自一個父類,因此若有多個規則需要實現,則使用介面是個比較好的做法。 2、介面的定義 interface 介面名 { 方法聲明; } 3、不同介面中若有多個相同名稱的方法,則需要顯式指定介面名,例如: 4、介面的使用 使用介面也可以實現多態。 代碼如下: class Program { static void Main(string[] args) { //提供三個類,完成工資的計算 List<ICalu> list = new List<ICalu>(); list.Add(new Boss()); list.Add(new Clert()); list.Add(new Clert()); list.Add(new Customer()); foreach (ICalu emp in list) { emp.Calu(); //多態 } } } class Boss : ICalu { public void Calu() { Console.WriteLine("計算老闆工資"); } } class Customer : ICalu { public void Calu() { Console.WriteLine("計算客戶工資"); } } class Clert : ICalu { public void Calu() { Console.WriteLine("計算職員工資"); } } interface ICalu { void Calu(); } 5、介面應用場合舉例 6、介面demo using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { List<IShow> list = new List<IShow>(); list.Add(new Map()); list.Add(new Voice()); list.Add(new Video()); list.Add(new ThreeD()); foreach(IShow ishow in list) { ishow.Show(); } } } interface IShow { void Show(); } public class Map:IShow { public void Show() { Console.WriteLine("顯示圖片"); } } public class Voice : IShow { public void Show() { Console.WriteLine("播放聲音"); } } public class Video : IShow { public void Show() { Console.WriteLine("顯示視頻"); } } public class ThreeD : IShow { public void Show() { Console.WriteLine("3D交互"); } } }