C# 是一種物件導向的程式語言,提供稱為介面的獨特功能。它們使您能夠聲明類別必須實現的屬性和方法的集合,而無需提及應如何實現它們的具體細節。
能夠編寫獨立於類別的實作細節的程式碼是介面的主要好處之一。任何實作該介面的類別的每個物件都可以使用介面引用來引用。
因此,在不同的類別實作之間切換更加簡單,而無需修改使用該類別的程式碼。
在C#中,可以使用interface關鍵字和介面名稱來定義介面。如下面的範例所示,介面定義可能包括方法、屬性、事件和索引器 -
interface <interface_name> { // declare Events // declare properties // declare indexers // declare methods }
冒號運算子 - 實作介面的語法包括冒號 (:) 運算符,後面接著要實現的介面的名稱。
屬性-屬性是介面中的值
方法- 方法是介面中的函數
在此範例中,我們將使用方法 CalArea() 定義介面 Shape。計算形狀的面積。為此,我們將定義一個類別 Circle,它實作 Shape 接口,並為該介面使用的 CalArea() 方法提供實作。
步驟 1 - 在第一步驟中定義具有所需方法和屬性的介面。您可以在定義介面時包含屬性、方法、事件和索引器。
第 2 步 - 接下來建立一個實作該介面的類別。
第 3 步 - 建立介面類型的參考變數。
第 4 步 - 實例化類別並將物件指派給引用變數。
第 5 步 - 最後使用介面引用來呼叫介面中定義的方法和屬性。
using System; interface Shape { double CalArea(); } class Circle : Shape { private double radius; public Circle(double r) { radius = r; } public double GetArea() { return 3.14 * radius * radius; } } class Program { static void Main(string[] args) { Shape shapeRefr; Circle Obj = new Circle(5); shapeRefr = Obj; Console.WriteLine("Area of the circle is " + shapeRefr.CalArea()); } }
Area of the circle is 78.5
在此範例中,我們將計算學生 4 門科目的分數以及佔總分的百分比。在此範例中,我們將使用 2 個方法初始化一個介面。
第 1 步 - 在第一步驟中定義一個包含所需 2 種方法的介面:一種方法用於計算分數,另一種方法用於計算百分比。
第 2 步 - 接下來建立一個實作該介面的類別。
第 3 步 - 建立介面類型的參考變數。
第 4 步 - 實例化類別並將物件指派給引用變數。
第 5 步 - 最後使用介面引用來呼叫介面中定義的方法和屬性。
using System; interface Olevel //create interface { double marks(); double percentage(); } class Result : Olevel //create class { private double Math; private double Science; private double English; private double Computer; public Result(double math, double science, double english, double computer) { this.Math = math; this.Science = science; this.English = english; this.Computer = computer; } //create methods public double marks() { double mrks; mrks= Math+Science+English+Computer; return mrks; } public double percentage() { double x= Math+Science+English+Computer; return (x/400) * 100; } } class Program { static void Main(string[] args) { Result result = new Result(90, 95, 93, 98); // Create an interface reference variable and assign the instance of result class to it Olevel olev = result; Console.WriteLine("The Total marks of the student out of 400 are: " + result.marks()); Console.WriteLine("The percentage of the student is: " + result.percentage()); } }
The Total marks of the student out of 400 are: 376 The percentage of the student is: 94
最後,C# 中的介面引用為您的程式碼提供了強大的機制。您可以使用支援該介面的任何物件建立程式碼,無論其特定類別為何。
以上是如何在C#中使用介面引用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!