c 泛型學習 二

2021-04-20 19:34:33 字數 4443 閱讀 3102

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 的型別 必須與 類例項化時定義...