預設介面方法是一項改變遊戲規則的功能,它允許開發人員在不破壞現有實作的情況下為介面新增方法。本文將解釋 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# 中建立更靈活、適應性更強的程式碼。
以上是C# 中的預設介面方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!