基類,即基礎類型,也稱為父類,祖宗類等,它一般會以抽象類(abstract class)的形式展現出來,它會包括一些具有共性的,一般性的資訊(屬性和方法等),它在描述一類對象時,經常會被抽象出來,如一個小貓,一隻小狗,很容易會讓你抽象出一個animal來,這是正常的,是符合面向對象人生觀的,呵呵。
而在實際項目開發中,這種例子也不少,可以說到處都可以看到基類的身影,有人說,請不要使用繼承,因為它為使你的程式很糟糕,依賴太多不好,但我要說的是,如果你的程式是一個關系複雜,面向對象的,那你的程式在某些地方必須要去繼承(抽象出基類),有時,我們會說,那什麼時候去使用基類,我們應該如何去衡量呢?事實上這種衡量是沒有意義的,是應試的,就像我國的教育,我是很不喜歡,永遠都是應付考試,對于基類這東西,你需要它時,就使用它,不要管什麼原則,當你需要解耦時,就使用對象的組合,還有,如果對基類還是有所偏見,那可以去看看微軟的System.Collections和System.Web.Mvc下的實作,看看人家是如何設計的。
以下是一個完整的,簡單的資料操作基類,它将子類公用的屬性資料庫上下文(DataContext)抽象出來,将增删改查的Curd操作也抽象出來,結果,這個基類就變成了這樣:

對于一個資料操作具體類來說,直接繼承它就可以了,然後再去實作自己的業務邏輯,很清晰。