單例模式
需求:在程式中的任何地方,我們想要獲取某乙個類的唯一物件。
我們稱之為類的單例
singleton
(1)提供乙個私有的靜態的本型別的成員變數
(2)構造器私有化
(3)提供公有的靜態的方法獲取本類中建立的例項。
餓漢寫法: 載入期間就例項化物件
public class singleton
public static singlet on getinstance()
} 懶漢寫法: 呼叫方法時才建立物件
public class singleton
public static singleton getinstance()
return instance;
}}
抽象類:
因為繼承的關係,子類的功能可以越來越具體,相對來說,父類
更加一般化,通用化。因為父類封裝了子類的共同行為,所以,
在定義時,我們可以定義方法的邏輯。有的時候,在父類中無法完成
子類的功能需求,此時,不如不寫,即不寫方法體,**簡單化。
但是此方法必須使用abstract修飾,那麼此型別也必須使用abstract
修飾,即抽象類
1、抽象方法與抽象類
1)用abstract修飾的方法,不需要寫方法體,但是得用分號來結尾
2)有抽象方法的類,必須使用abstract宣告(修飾)
2、抽象類不能例項化
1) 抽象類不能建立物件,沒有意義
2) 抽象類可以提供構造器
3) 抽象類中可以沒有抽象方法
4) abstract和final不能同時修飾乙個型別
3、繼承抽象類
1)若乙個類繼承了抽象類,那麼這個類必須重寫(實現)抽象類的所有抽象方法
2)若乙個類沒有實現抽象類的所有抽象方法, 那麼這個類必須使用abstract修飾
4、抽象類的意義:
1)給不同的子類定義乙個父類
2)抽象類可以封裝子類的共同特徵與共同行為
3)雖然子類方法可能有不能的實現邏輯,但是
方法的定義一致。
抽象類應用 模板模式
公司的專案中有乙個這樣需求,客戶要求對不同的資訊進行匯出功能,如使用者資訊 商品資訊 訂單資訊等等,並且要求數量太大的匯出要進行非同步處理,專案中就採用了模板模式進行了處理。需求確定了,解決方法也確定了,那我們先來看一下模板模式的定義 定義乙個操作中的演算法的框架,而將一些步驟延遲到子類中,使得子類...
抽象類 抽象方法
抽象類 1.類名前有abstruct修飾。有構造方法。在建立抽象類的子類的時候,還是會先建立抽象父類的物件的。2.抽象類不能例項化是指不能手動的new。抽象方法 1.抽象方法 沒有方法體且需要用abstruct關鍵字修飾 作用 需要改變的地方都應該是抽象。抽象方法只能存在於抽象類或介面中。2.有抽象...
抽象類,抽象方法
1 抽象類中可以有實現的方法。抽象方法必須在抽象類中。using system using system.collections.generic using system.linq using system.text namespace test 抽象類可以包含抽象屬性 public int age...