首頁 > 後端開發 > C#.Net教程 > 如何在C#中使用介面引用?

如何在C#中使用介面引用?

WBOY
發布: 2023-09-13 16:01:02
轉載
1587 人瀏覽過

如何在C#中使用介面引用?

C# 是一種物件導向的程式語言,提供稱為介面的獨特功能。它們使您能夠聲明類別必須實現的屬性和方法的集合,而無需提及應如何實現它們的具體細節。

能夠編寫獨立於類別的實作細節的程式碼是介面的主要好處之一。任何實作該介面的類別的每個物件都可以使用介面引用來引用。

因此,在不同的類別實作之間切換更加簡單,而無需修改使用該類別的程式碼。

在 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中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板