在使用c#的時候,經常會用到集合,慣用的做法是例項化乙個list或collection,然後存放東西就行了。我總是很懶,所以把collection封裝了一下,加了個鎖,可以執行緒安全的訪問了。
這位看官說了:你說的是集合,跟你的標題扯不上關係吧?
是的,到目前為止是的。然而,當我們遇到這樣的問題時:n多個類有相同的屬性或方法。這個時候你第一想到的是介面。沒錯,介面可以很好的表述你的要求。但我要說,請稍等。
你可以使用介面,那麼為什麼不試試抽象類呢?
定義乙個介面,其所有的屬性與方法,你都要在實現類中全部重現。
使用抽象類,在抽象基類裡可以實現一些屬性或方法,子類只需要過載特殊的屬性或方法即可。
不管從實用性還是**簡潔性,抽象類,在我看來是首選。
這也是我不同意下面乙個帖子裡使用介面的原因。
c# 泛型型別必須繼承介面的問題
好了,下面放乙個我自己寫的泛型抽象基類,其使用方法見
原創 c# 正規表示式 讀寫 ini 檔案
namespace goldli.utility.library//////新增,item可以為null,方便大量新增後賦值
/// ///
"item"
>
public
void add(t item)
finally
}///
///刪除
/// ///
"item"
>
public
void remove(t item)
finally
}public t this[int index]
finally
return result;}}
//////查詢
/// ///
"value"
>
///public
abstract t find(object value);
//////選擇的某個item
/// public t selected
#region 執行緒安全
//////上鎖
/// public
void lock()
//////解鎖
/// public
void unlock()
#endregion
//////
公開ilist
/// public
newilist list }
}}
介面,抽象類,類使用心得
今天說說介面,抽象類,類的使用心得 介面 抽象類 類 舉個資料庫繼承的例子 database 介面 abstractdatabase 抽象類 mysql 子類,具體實現類 sqlserver 子類,具體實現類 database 規定資料庫操作 public inte ce databaseabstr...
介面,抽象類,類使用心得
今天說說介面,抽象類,類的使用心得 介面 定義準則 模版 定義全域性屬性 定義方法 抽象類 實現介面中定義的通用方法,所謂通用就是指所有子類使用此方法業務邏輯一樣 不實現介面中定義的不通用方法,所謂不通用就是指所有子類使用業務邏輯不一致,只是部分子類一樣,留給子類自己實現 或 實現個基本邏輯,留給子...
抽象類與介面結合使用
抽象類丶介面的區別 和 抽象類可以不實現介面的全部方法 抽象類可以不用實現介面的全部方法 有的時候需要將介面和抽象類配合起來使用,這樣可以為開發者提供相當的便利性,開發者覺得哪個方便就選用哪個。這樣的抽象類稱為便利類。此時,便利類並不需要實現介面的所有方法,可以留給繼承它的子類去實現它們。這麼做並非...