最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php單態(tài)設(shè)計(jì)模式(單例模式)實(shí)例

 更新時(shí)間:2014年11月18日 12:06:35   投稿:junjie  
這篇文章主要介紹了php單態(tài)設(shè)計(jì)模式(單例模式)實(shí)例,單態(tài)模式的主要作用是保證在面向?qū)ο缶幊淘O(shè)計(jì)中,一個(gè)類只能有一個(gè)實(shí)例對(duì)象存在,需要的朋友可以參考下

單態(tài)設(shè)計(jì)模式也叫單例模式:

1.單態(tài)設(shè)計(jì)模式含義:

單態(tài)模式的主要作用是保證在面向?qū)ο缶幊淘O(shè)計(jì)中,一個(gè)類只能有一個(gè)實(shí)例對(duì)象存在。作為對(duì)象的創(chuàng)建模式,單例模式確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)全局地提供這個(gè)實(shí)例。它不會(huì)創(chuàng)建實(shí)例副本,而是會(huì)向單例類內(nèi)部存儲(chǔ)的實(shí)例返回一個(gè)引用。

2.單臺(tái)模式的三個(gè)關(guān)鍵點(diǎn):

① 需要一個(gè)保存類的唯一實(shí)例的靜態(tài)成員變量;
②構(gòu)造函數(shù)和克隆函數(shù)必須聲明為私有的,防止外部程序new類從而失去單例模式的意義;
③必須提供一個(gè)訪問這個(gè)實(shí)例的公共的靜態(tài)方法(通常為getInstance方法),從而返回唯一實(shí)例的一個(gè)引用 。

復(fù)制代碼 代碼如下:

<?php
class DB {
    private static $obj = null;           //聲明一個(gè)私有的,靜態(tài)的成員屬性$obj
    private function__construct() {       //私有構(gòu)造方法,只能在類的內(nèi)部實(shí)例化對(duì)象
        echo "連接數(shù)據(jù)庫成功<br>";
    }
    public static function getInstance() {  // 通過此靜態(tài)方法才能獲取本類的對(duì)象
        if(is_null(self::$obj))  //如果本類中的$obj為空,說明還沒有被實(shí)例化過
            self::$obj = new self();  //實(shí)例化本類對(duì)象
            return self::$obj;  //返回本類的對(duì)象
    }
    public function query($sql) {  //執(zhí)行SQL語句完成對(duì)數(shù)據(jù)庫的操作
        echo $sql;
    }
}
    $db = DB::getInstance();        //只能使用靜態(tài)方法getInstance()去獲取DB類的對(duì)象
    $db -> query("select *from user");       //訪問對(duì)象中的成員
?>

相關(guān)文章

最新評(píng)論

秀山| 静宁县| 盐津县| 拜城县| 南华县| 桑日县| 资中县| 防城港市| 武宁县| 清原| 安丘市| 三亚市| 阳春市| 香港 | 阿拉尔市| 屏山县| 台北县| 沈阳市| 京山县| 建始县| 安新县| 新源县| 娱乐| 怀柔区| 壤塘县| 华阴市| 汶川县| 榆树市| 芦山县| 东宁县| 阿拉善盟| 喀喇| 乌兰浩特市| 婺源县| 道孚县| 十堰市| 名山县| 七台河市| 平昌县| 莱西市| 溧阳市|