1. 程式人生 > >3. 接口、多重接口

3. 接口、多重接口

linq cti area circular 輸出 span parse main adl

接口、多重接口:

  定義:接口是指定一組函數成員而不實現成員的引用類型,其他類型 —— 類和結構可以實現接口。

 1 /**
 2  * 一: 1)定義 ICalculate 接口,接口文件如下:
 3  *       interface ICalculate
 4  *       {
 5  *           void getArea(); //計算圓面積。
 6  *           void getZC(); //計算圓周長
 7  *       }
 8  *       2) 定義 Circularity 類,實現接口Calculate. 且調試後輸出結果。
 9  */
10 using System;
11 using System.Collections.Generic;
12 using System.Linq;
13 using System.Text;
14 using System.Threading.Tasks;
15 
16 namespace SecondAssignment
17 {
18     //定義 ICalculate 接口
19     interface ICalculate
20     {
21         void getArea(); //計算圓面積
22         void getZC();   //計算圓周長
23     }
24     class Circularity:ICalculate
25     {
26         //顯示實現計算圓的面積
27         void ICalculate.getArea()
28         {
29             Console.WriteLine("請輸入圓的半徑(int)求面積:");
30             int r = int.Parse(Console.ReadLine());
31             double _Area = 0;
32             _Area = Math.PI * r * r ;
33             Console.WriteLine("圓的面積為:"+_Area);
34         }
35         //先生實現計算圓的周長
36         void ICalculate.getZC()
37         {
38             Console.WriteLine("請輸入圓的半徑(int)求周長:");
39             int r = int.Parse(Console.ReadLine());
40             double d = 0;
41             d = Math.PI * r * 2;
42             Console.WriteLine("圓的周長為:"+d);
43         }
44     }
45     class Test
46     {
47         static void Main(string[] args)
48         {
49             //通過接口調用輸出
50             ICalculate calculate = new Circularity();
51             calculate.getArea();
52             Console.WriteLine();
53             calculate.getZC();
54             Console.ReadKey();
55         }
56     }
57 }
 1 /**
 2  * 二: 設計一個類 TClass , 繼承下面的接口 IMeasure, 
 3  * 實現其中的 Length() 與 Area()方法,來計算特定長度等邊三角形的周長和面積。
 4  *   interface IMeasure
 5  *   {
 6  *       int Length(int s);
 7  *       int Area(int s);
 8  *   }
 9  */
10 using System;
11 using System.Collections.Generic;
12 using System.Linq;
13 using System.Text;
14 using System.Threading.Tasks;
15 
16 namespace SecondAssignment
17 {
18     //計算特定長度等邊三角形的周長和面積。
19     interface IMeasure
20     {
21         int Length(int s);                                  //計算周長
22         int Area(int s);                                    //計算面積
23     }
24     class TClass : IMeasure
25     {
26         //求周長
27         int IMeasure.Length(int s)
28         {
29             int _length = s * 3;
30             return _length;
31         }
32         //求面積
33         int IMeasure.Area(int s)
34         {
35             double h = Math.Sin(Math.PI/3) * s;             //角度不能直接輸入數值,需要 Math.PI 進行轉換
36             double _Area = (s * h) / 2;
37             return Convert.ToInt32(_Area);
38         }
39     }
40 }

 1 /**
 2  *  三:設計一個類 TClass, 繼承下面的接口 IMeasure, 
 3  * 實現其中的 Length() 與 Area()方法,來計算特定長度等邊三角形的周長和面積。
 4     interface IMeasure
 5     {
 6         int Length(int s);
 7         int Area(int s);
 8     }
 9  *  設計一個測試程序,創建 TClass 的實例對象,調用其中的方法計算邊長為 10 的三角形面積和周長。
10  */
11 using System;
12 using System.Collections.Generic;
13 using System.Linq;
14 using System.Text;
15 using System.Threading.Tasks;
16 
17 namespace SecondAssignment
18 {
19     //計算特定長度等邊三角形的周長和面積。
20     interface IMeasure
21     {
22         int Length(int s);                                  //計算周長
23         int Area(int s);                                    //計算面積
24     }
25     class TClass : IMeasure
26     {
27         //求周長
28         int IMeasure.Length(int s)
29         {
30             int _length = s * 3;
31             return _length;
32         }
33         //求面積
34         int IMeasure.Area(int s)
35         {
36             double h = Math.Sin(Math.PI/3) * s;             //角度不能直接輸入數值,需要 Math.PI 進行轉換
37             double _Area = (s * h) / 2;
38             return Convert.ToInt32(_Area);
39         }
40         //測試方法
41         static void Main(string[] args)
42         {
43             IMeasure T = new TClass();
44             Console.WriteLine("周長為:"+ T.Length(10));     //求周長
45             Console.WriteLine("面積為:" + T.Area(10));      //求面積
46             Console.ReadKey();
47         }
48     }
49 }

3. 接口、多重接口