接口模型
下面是我學習接口模式的摘抄,和一些心得。
按照接口的定義方法,他是一些方法和字段的一個集合。通過使用接口可以簡化編碼,提高效率。下面就看一個例子從中體會一下使用接口的好處。
?1using?System;
?2using?System.Collections.Generic;
?3using?System.Text;
?4
?5namespace?Lesson10
?6{
?7????//?定義一個表示所有物品的接口
?8????//?這個接口有一個字段表示這個物品的名字
?9????//?有一個方法用來顯示這個物品的信息
10
11????public?interface?Objects
12????{
13????????string?Name?{?get;}
14????????void?ShowInf();
15????}
16
17????//?定義一個桌子類
18????class?Table?:?Objects
19????{
20????????private?string?name;
21
22????????public?Table(string?name)
23????????{
24????????????this.name?=?name;
25????????}
26
27????????public?string?Name
28????????{
29????????????get?{?return?name;?}
30????????}
31
32????????public?void?ShowInf()
33????????{
34????????????Console.WriteLine("這是一個"?+?name?+?"?長:120??寬:60??高:90");
35????????}
36????}
37
38????//?定義一個鍵盤類
39????class?Keyboard?:?Objects
40????{
41????????private?string?name;
42
43????????public?Keyboard(string?name)
44????????{
45????????????this.name?=?name;
46????????}
47
48????????public?string?Name
49????????{
50????????????get?{?return?name;?}
51????????}
52
53????????public?void?ShowInf()
54????????{
55????????????Console.WriteLine("這是一個"?+?name?+?"?長:60??寬:15??厚:3");
56????????}
57????}
58
59????class?Program
60????{
61????????static?void?Main(string[]?args)
62????????{
63????????????Objects?test?=?new?Table("電腦臺");
64
65????????????CustMethod(test);???????????????????????????//?注意這里傳入的是一個Objects接口的一個實例
66
67????????????CustMethod(new?Keyboard("標準鍵盤"));???????//?注意這里傳入的是一個KeyBoard類的一個對象實例
68
69????????????Console.ReadKey();
70????????}
71
72????????//?注意這里傳遞的是一個接口的實例,而不是一個普通的對象
73????????//?這個方法可以看作是對所有實現這個接口的對象按照接口所定義的屬性或方法,來操作這些對象的通用方法
74????????//?這樣做可以減少代碼編寫工作量,把相同的操作。或對具有相同方法或屬性的一批對象實現一個通用的方法
75????????public?static?void?CustMethod(Objects?objects)
76????????{
77????????????Console.WriteLine(objects.Name);
78????????????objects.ShowInf();
79????????}
80????}
81
82}
83
通過這段代碼可以看到,如果對某一類具有相同屬性或方法的對象進行操作時,可以對這些對象進行一些統一的操作。
例如:可能我們需要顯示不同數據源中數據集的明細,這樣我們需要一個統一的方法來顯示來自不同數據集的數據,又可能這些數據源提供的數據是各種各樣的。這是我們就可以定義這樣一個接口,他有一個方法該方法返回一個DataSet數據集。然后給每個數據源,創建一個類。這些類都實現這個接口所定義的返回DataSet數據集的方法。這樣一來,我們就可以通過另外一個通用方法來吧這些表示不同數據源類的對象所包含的數據進行顯示了。
類似的應用情景還有很多。需要大家在實際項目中體會。
洪虎
2006-10-10
按照接口的定義方法,他是一些方法和字段的一個集合。通過使用接口可以簡化編碼,提高效率。下面就看一個例子從中體會一下使用接口的好處。
?1using?System;
?2using?System.Collections.Generic;
?3using?System.Text;
?4
?5namespace?Lesson10
?6{
?7????//?定義一個表示所有物品的接口
?8????//?這個接口有一個字段表示這個物品的名字
?9????//?有一個方法用來顯示這個物品的信息
10
11????public?interface?Objects
12????{
13????????string?Name?{?get;}
14????????void?ShowInf();
15????}
16
17????//?定義一個桌子類
18????class?Table?:?Objects
19????{
20????????private?string?name;
21
22????????public?Table(string?name)
23????????{
24????????????this.name?=?name;
25????????}
26
27????????public?string?Name
28????????{
29????????????get?{?return?name;?}
30????????}
31
32????????public?void?ShowInf()
33????????{
34????????????Console.WriteLine("這是一個"?+?name?+?"?長:120??寬:60??高:90");
35????????}
36????}
37
38????//?定義一個鍵盤類
39????class?Keyboard?:?Objects
40????{
41????????private?string?name;
42
43????????public?Keyboard(string?name)
44????????{
45????????????this.name?=?name;
46????????}
47
48????????public?string?Name
49????????{
50????????????get?{?return?name;?}
51????????}
52
53????????public?void?ShowInf()
54????????{
55????????????Console.WriteLine("這是一個"?+?name?+?"?長:60??寬:15??厚:3");
56????????}
57????}
58
59????class?Program
60????{
61????????static?void?Main(string[]?args)
62????????{
63????????????Objects?test?=?new?Table("電腦臺");
64
65????????????CustMethod(test);???????????????????????????//?注意這里傳入的是一個Objects接口的一個實例
66
67????????????CustMethod(new?Keyboard("標準鍵盤"));???????//?注意這里傳入的是一個KeyBoard類的一個對象實例
68
69????????????Console.ReadKey();
70????????}
71
72????????//?注意這里傳遞的是一個接口的實例,而不是一個普通的對象
73????????//?這個方法可以看作是對所有實現這個接口的對象按照接口所定義的屬性或方法,來操作這些對象的通用方法
74????????//?這樣做可以減少代碼編寫工作量,把相同的操作。或對具有相同方法或屬性的一批對象實現一個通用的方法
75????????public?static?void?CustMethod(Objects?objects)
76????????{
77????????????Console.WriteLine(objects.Name);
78????????????objects.ShowInf();
79????????}
80????}
81
82}
83
通過這段代碼可以看到,如果對某一類具有相同屬性或方法的對象進行操作時,可以對這些對象進行一些統一的操作。
例如:可能我們需要顯示不同數據源中數據集的明細,這樣我們需要一個統一的方法來顯示來自不同數據集的數據,又可能這些數據源提供的數據是各種各樣的。這是我們就可以定義這樣一個接口,他有一個方法該方法返回一個DataSet數據集。然后給每個數據源,創建一個類。這些類都實現這個接口所定義的返回DataSet數據集的方法。這樣一來,我們就可以通過另外一個通用方法來吧這些表示不同數據源類的對象所包含的數據進行顯示了。
類似的應用情景還有很多。需要大家在實際項目中體會。
洪虎
2006-10-10
轉載于:https://www.cnblogs.com/eric1394/archive/2006/10/11/525800.html
總結
- 上一篇: Win32开发笔记(一):整体流程
- 下一篇: 如何搞定 K8S 微服务自动化发布系统