2.繼承和泛型
1using system;
2using system.collections.generic;
3using system.text;
45namespace vs2005demo2
610 public class subclass : baseclass
11
1213
14 public class subclass1: baseclass
15
16 #endregion
1718 繼承約束#region 繼承約束
19 public class baseclass1where t : isomeinte***ce
20
21 public class subclass2: baseclass1where t : isomeinte***ce
22
2324 //建構函式約束
25 public class baseclass3where t : new()
26
31 }
32 public class subclass3: baseclass3where t : new()
33
3435 #endregion
3637 虛擬方法#region 虛擬方法
38 public class baseclass4
39
44 }
45 public class subclass4 : baseclass4
46
51 }
5253 public class subclass5: baseclass4
54
59 }
6061 #endregion
6263 介面、抽象類繼承#region 介面、抽象類繼承
64 public inte***ce isomeinte***ce6
65
68 public abstract class baseclass6
69
72 public class subclass6: baseclass6,isomeinte***ce6
73
76 }
77 #endregion
7879 泛型抽象方法和泛型介面#region 泛型抽象方法和泛型介面
80 //public class calculator
81 //
86 // //rest of the methods
87 //}
8889 public abstract class basecalculator
90
96 public class mycalculator : basecalculator
97
102 //rest of the methods
103 }
104105 public inte***ce icalculator
106
110 public class mycalculator1 : icalculator
111
116 //rest of the methods
117 }
118 #endregion
119120}
1213.泛型方法
1using system;
2using system.collections.generic;
3using system.text;
45namespace vs2005demo2
613 }
1415 public class class3
16
24 }
25 #endregion
2627 編譯器無法只根據返回值的型別推斷出型別#region 編譯器無法只根據返回值的型別推斷出型別
28 public class myclass1
29
32 }
3334 public class class31
35
42 }
43 #endregion
4445 泛型方法約束#region 泛型方法約束
46 public class class32
47
50 }
51 #endregion
5253 泛型虛擬方法#region 泛型虛擬方法
54 public class baseclass33
55
58 }
59 public class subclass33 : baseclass33
60
65 }
6667 public class baseclass34
68
71 }
72 public class subclass34 : baseclass34
73
76 }
7778 public class baseclass35
79
82 }
83 public class subclass35 : baseclass35
84
90 }
91 #endregion
9293 泛型靜態方法#region 泛型靜態方法
94 public class myclass36
95
98 }
99100 public class class36
101
106 }
107108 public class myclass37
109
112 }
113 public class class37
114
120 }
121122 public class myclass38
123
126 }
127128 #endregion
129}
1304.泛型委託
1using system;
2using system.collections.generic;
3using system.text;
45namespace vs2005demo2
613 }
1415 public class myclasstest40
16
29 }
30 #endregion
3132 委託泛型引數#region 委託泛型引數
33 public class myclass41
34
3738 //外部委託
39 public delegate void genericdelegate(t t);
4041 public class myclass42
42
45 }
4647 public class myclasstest42
48
59 }
6061 #endregion
6263 委託泛型引數#region 委託泛型引數
64 public delegate void mydelegate(t t) where t : icomparable;
65 #endregion
6667 事件#region 事件
6869 public delegate void genericeventhandler(s sender, a args);
70
71 public class mypublisher
72
78 }
7980 public class mysubscriber//optional: can be a specific type
81
84 }
85 public class myclasstest43
86
93 }
94 #endregion
95}96
c 泛型學習(二)
使用泛型實現簡單鍊錶 public class linkedlistnode public t value public linkedlistnodenext public linkedlistnodeprev 然後建立乙個linkedlist型別,該類包含了對鍊錶首尾元素的引用。還包含乙個新增元素...
泛型學習(二)
泛型的運用 1.構造方法使用泛型 class gree public t getvalue public void setvalue t value class demo 結果 使用構造方法我們可以根據自己的需要,例項化不同型別的物件。2.設定多個泛型 設定多個泛型直接在 中加多個泛型即可。clas...
C 泛型學習
注意push 方法 1.public class stack public void push t item public stack int i stackss new stack 100 ss.push ds 第一種,ss.push ds 編譯通不過,因為 引數t 的型別 必須與 類例項化時定義...