<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                單例模式是一種常用的軟件設計模式,是屬于創建型模式,其定義是單例對象的類只允許一個實例存在,即實例化出來的對象是唯一的。 特點:(三私一公) * 私有化一個屬性用于存放唯一的實例 * 私有化構造函數,防止被直接創建對象 * 私有化克隆方法,防止克隆對象 * 公有化靜態方法,用于向系統提供這個實例 優點: * 使用單例模式可以避免大量的new操作,減少消耗資源。 * 在內存里只有一個實例,減少內存的開心,尤其是頻繁創建和銷毀實例。 * 避免對資源的多重占用,比如寫文件操作。 缺點: * 不適用于變化的對象,如果同一類型的對象總是要在不同的用例場景發生變化,單例就會引起數據的錯誤,不能保存彼此的狀態 * 單例類的職責過重,在一定程度上違背了單一職責原則 * 如果實例化的對象長時間不被利用,則會被系統回收,這將導致對象狀態的丟失 ``` <?php class Person{ static private $instance; //創建靜態私有的變量保存該類對象 private $config; //參數 private function __construct($config){ //防止外部代碼使用new來創建對象。 echo "我是"; $this -> config = $config; } private function __clone(){ //防止克隆對象 } static public function getInstance($config){ if (!self::$instance instanceof self) {//判斷$instance是否是Person的對象,沒有則創建 self::$instance = new self($config); } return self::$instance; } public function getName(){ echo $this -> config; } } $db1 = Person::getInstance('Jack'); $db1 -> getName(); echo "<br>"; $db2 = Person::getInstance('John'); $db2 -> getName(); ?> //運行結果: 我是Jack ($db1創建對象后,參數是jack) Jack($db2沒有創建對象,而是直接使用$instance保存的唯一對象,所以輸出的參數并沒有變為John) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看