不忘本 介面

2021-09-06 03:47:11 字數 3325 閱讀 7016

返回目錄

介面無疑是物件導向的程式設計中最重要的概念之一,它體現一種抽象,一種規範;即它只規定了具體的操作,而不對操作進行實現,它的實現由繼承它的類去完成;它是一種規範,即,它要求實現它的類要對它的成員完全實現才行.

看一段**:

1

///2

3///

**攻擊的通用介面45

///6

7public

inte***ce

iattack89

對介面進行實現,看**:

1

///2

3///

木頭攻擊45

///6

7public

class

woodattack : entity.iattack89

2425

2627

#endregion

2829}30

31///

3233

///鐵棒攻擊

3435

///36

37public

class

magicattack : entity.iattack

3839

5455

5657

#endregion

5859 }

除了上面的介面之外,還有一種特殊的介面,它內部沒有任何元素,我們稱為標記介面。它不是為了呼叫者的期待而定義,其意圖是抽象,將那些不能抽象在一起的類,利用乙個標記繫結起來,為其提供統一的介面。標記介面保證了呼叫方法的一致性。雖然強制型別轉換會引入具體依賴,卻不會有任何***,因為在方法實現中,設計者的期待本身就是要轉換的型別.

看**:(物件實現統一介面和物件具體實體類)

1

///2

3///

資料庫物件統一協調介面45

///6

7public

inte***ce

idataentity89

1415

///16

17///

活躍值明細

1819

///20

21public

partial

class

activerecord : idataentity

2223

3839

4041

///42

43///

所有人id

4445

///46

47public string userid

4849

5051

///52

53///值54

55///

5657

public int32 value

5859

6061

///62

63///

收支型別 [資金流向],0-收入,1-支出

6465

///66

67public entity.flowtype flowtype

6869

7071

///72

73///

備註74

75///

7677

public string note

7879

8081

///82

83///

時間84

85///

8687

public system.datetime createdate

8889

9091

///92

93///

活躍值明細類型別 [預設為1, 為了以後做擴充套件使用]

9495

///96

97public int16 type

9899

100101

#endregion

102103

104105

//外延字段

106107

#region extensional field

108109

110111

#endregion

112113

114115

//建構函式

116117

#region constructed function

118119

120121

///122

123///

新建立的時候建構函式

124125

///126

127public

activerecord()

128129

134135

136137

///138

139///

新建立的時候建構函式

140141

///142

143///

活躍值明細id

144145

public

activerecord(string _activerecordid )

146147

154155

156157

#endregion

158159

160161

//方法

162163

#region function

164165

166167

#endregion

168169

170171

//重寫方法

172173

#region object overrides

174175

176177

#endregion

178179 }

而在操作統一介面呼叫實體時,我們可以直接寫成介面類,而不用寫用具體型別

1

///2

3///

通用資料庫訪問介面45

///6

7public

inte***ce

irepository89

注意,在實現時,我們需要將介面物件進行強型別轉換,這在標記介面中是可以的.

1

public

void

update(entity.idataentity entity)23

1617

else

1819

2425 }

好了,講到這裡,您是否對介面有了一種全新的認識呢!哈哈!

返回目錄

不忘本心,做自己

最近和女朋友爭執了乙個問題。女朋友剛換了一家新公司,作為乙個 老 人,在發現新公司的流程上有一些問題。然後就匯報給主管,主管就說這個事不做,被懟回去了。她就不爽了,因為主管不聽,就按照主管說的去做了,然後說再也不提意見了。我說 你改提,照樣提的啊,對的事情就應該去做。然後就吵了起來。當然,自認為對的...

不忘本 委託與事件

返回目錄 是這樣定義委託的 委託是一種定義方法簽名的型別。當例項化委託時,您可以將其實例與任何具有相容簽名的方法相關聯。您可以通過委託例項呼叫方法。下面這個委託及事件主要完成顯示按鈕名稱和值的功能 1 2 3 自定義委託45 6 7class selfdelegate89 4849 5051 在fo...

不忘本 explicit和implicit修飾符

返回目錄 部分內容來自msdn implicit關鍵字用於宣告隱式的使用者定義型別轉換運算子。如果轉換過程可以確保不會造成資料丟失,則可使用該關鍵字在使用者定義型別和其他型別之間進行隱式轉換。1 class digit23 67public double val 89 1011 1213 user ...