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

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

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

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

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

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

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

在 C# 中定義介面的語法

在C#中,可以使用interface關鍵字和介面名稱來定義介面。如下面的範例所示,介面定義可能包括方法、屬性、事件和索引器 -

1

2

3

4

5

6

7

8

9

interface  <interface_name> {

   // declare Events

    

   // declare properties

    

   // declare indexers

    

   // declare methods

}

登入後複製
  • 冒號運算子 - 實作介面的語法包括冒號 (:) 運算符,後面接著要實現的介面的名稱。

  • 屬性-屬性是介面中的值

  • 方法- 方法是介面中的函數

範例

在此範例中,我們將使用方法 CalArea() 定義介面 Shape。計算形狀的面積。為此,我們將定義一個類別 Circle,它實作 Shape 接口,並為該介面使用的 CalArea() 方法提供實作。

演算法

  • 步驟 1 - 在第一步驟中定義具有所需方法和屬性的介面。您可以在定義介面時包含屬性、方法、事件和索引器。

  • 第 2 步 - 接下來建立一個實作該介面的類別。

  • 第 3 步 - 建立介面類型的參考變數。

  • 第 4 步 - 實例化類別並將物件指派給引用變數。

  • 第 5 步 - 最後使用介面引用來呼叫介面中定義的方法和屬性。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

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());

   }

}

登入後複製

輸出

1

Area of the circle is 78.5

登入後複製

範例

在此範例中,我們將計算學生 4 門科目的分數以及佔總分的百分比。在此範例中,我們將使用 2 個方法初始化一個介面。

演算法

  • 第 1 步 - 在第一步驟中定義一個包含所需 2 種方法的介面:一種方法用於計算分數,另一種方法用於計算百分比。

  • 第 2 步 - 接下來建立一個實作該介面的類別。

  • 第 3 步 - 建立介面類型的參考變數。

  • 第 4 步 - 實例化類別並將物件指派給引用變數。

  • 第 5 步 - 最後使用介面引用來呼叫介面中定義的方法和屬性。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

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());

   }

}

登入後複製

輸出

1

2

The Total marks of the student out of 400 are: 376

The percentage of the student is: 94

登入後複製

結論

最後,C# 中的介面引用為您的程式碼提供了強大的機制。您可以使用支援該介面的任何物件建立程式碼,無論其特定類別為何。

以上是如何在C#中使用介面引用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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