C#中的預設介面方法


預設介面方法是一項改變遊戲規則的功能,允許開發者向介面新增新方法,而不會破壞現有的實現。本文將解釋C#中的預設介面方法,向您展示如何在自己的程式碼中有效地使用它們。

C#中的傳統介面方法

傳統上,C#中的介面只能包含方法、屬性、事件或索引器的宣告,而不能包含它們的實現。任何實現該介面的類或結構都必須為介面的每個成員提供實現。

預設介面方法簡介

引入預設介面方法是為了解決傳統介面的侷限性。使用預設介面方法,可以直接在介面中為方法提供預設實現。如果類或結構實現該介面但未為此方法提供實現,則將使用預設實現。

這是一個簡單的例子:

public interface IGreetable {
   void Greet(string name) {
      Console.WriteLine($"Hello, {name}!");
   }
}

public class User : IGreetable {
   // No need to implement Greet method, the default implementation will be used.
}

注意:預設介面方法是C# 8.0提出的功能的一部分。

在這個例子中,IGreetable介面為Greet方法提供了預設實現。User類實現了IGreetable,但沒有為Greet提供自己的實現,因此將使用預設實現。

重寫預設介面方法

即使介面為方法提供了預設實現,實現類或結構仍然可以提供自己的實現。這稱為重寫預設實現。

public class Admin : IGreetable {
   public void Greet(string name) {
      Console.WriteLine($"Hello, {name}. You are an admin.");
   }
}

在這個例子中,Admin類為Greet方法提供了自己的實現,重寫了IGreetable提供的預設實現。

結論

預設介面方法是C#中的一項強大功能,允許您隨著時間的推移改進介面,而不會破壞現有的實現。透過理解預設介面方法,您可以在C#中建立更靈活、更易於適應的程式碼。

更新於:2023年7月24日

477 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.