構造方法私有化 単例設計模式

2021-07-28 10:57:59 字數 957 閱讀 5367

構造方法私有化,就不能直接在類的外面通過new 類名稱();來例項化物件了,這樣使用起來似乎不那麼方便了,那麼問題來了:

class singleton

public

void

print()

};

class singleton

public

void

print()

};public

class singletondemo04

};

以上**實現了,私有化類內部建立物件,然後通過static修飾,拿到了外面,但是,這個屬性並沒有封裝,不是很完美,可以進行優化:

class singleton

private

singleton()

public

void

print()

};public

class singletondemo05

};

修改為這樣,就好了很多了嘛。。。。

class singleton

private

singleton()

public

void

print()

};public

class singletondemo05

};

這樣在類的外部,無論建立了多少個物件,其實都是只建立了乙個物件,都是通過getinstance()拿到的物件例項,也就是說,這裡,s1,s2,s3,都使用了乙個物件的引用,這些stack記憶體的引用都指向了乙個heap記憶體。

分析:

學習總結。

單列設計模式,構造方法私有化

什麼是構造方法 class person 人類 private string name private int age static void main string args 構造方法私有化 範例1 class single public class singledemo01 執行結果 不能編譯,...

構造方法私有化與單例模式

單例模式 乙個類只有乙個例項化的物件,單例模式實現的核心是構造方法私有化,這樣就不能在類的外部建立該類的例項化物件,要想在類的外部使用構造方法私有化的類物件,只能在類的內部例項化乙個類物件,然後通過靜態方法返回該例項物件的引用,在外部進行呼叫。例如 建立乙個構造方法私有化的person類 publi...

構造方法私有化 單例模式 Singleton

因程式需要,有時我們只需要某個類同時保留乙個物件,不希望有更多物件,此時,我們則應考慮單例模式的設計。例子 在日常生活中,有的時候為了出現二義性,我們把很多事情安排到乙個人來操作。就像我們想要得到特供的茅台酒的話,我們平常人是不可能弄到的。那必須找到這個的負責人,那麼不管誰都會找這個負責人才可以。這...