勵志

勵志人生知識庫

三私一公

"三私一公"是 編程中的 一個概念,具 體指的是:私有化 靜 態 屬性,私有化 構造方法,私有化克隆方法,公有化 靜 態方法。 這是 實 現 單例模式的一 種方式。 單例模式的特 點是, 一個 類只被 實例化一次, 當其他人 對其再次 實例化 時,返回第一次 實例化的 對象。 這 樣可以避免大量的new操作, 減少 資源的消耗,典型 套用 於 資料庫 類的 實例化。以 實例化 一個Mysql 資料庫 類 為例,要 實 現 一個 類只 實例化一次,就 必須堵住其他 實例化的入口。具 體 來 說,需要 將 構造方法 設定 為private 屬性, 限制 為只能在 類 內部 實例化,定 義 一個 靜 態方法,在 類 內部 實例化 對象, 實例化前先判 斷 該 類是否已被 實例化了,若已被 實例化,就返回 該 實例化 對象;若 沒被 實例化,便 實例化 一個 對象 並 將 該 對象保存在 類的 靜 態 屬性中。同 時,禁止克隆, 對象之 間 進行克隆可生成不同的 對象。而克隆 時 會自 動 調用 類的__clone方法,因此 將克隆方法 設定 為private 屬性。