close
文章出處
1、單例模式
目的:為了控制對象的數量(只能夠有一個,相當于類的計劃生育)
做法
1.將類的構造函數做成私有的
2.在類里面做了一個公有的函數來造對象
3.將該函數變為靜態的
4.在函數里面加控制
例:
<?php class Ren { public $name; //成員變量用來存儲該對象 static public $dx; private function __construct() 私有的 構造函數 { } static function DuiXiang() 把方法變成靜態的 { if(empty(self::$dx)) 判斷 是否是空 { self::$dx = new Ren(); } return self::$dx; } } $r = Ren::DuiXiang(); $r->name = "張三"; 兩個會指向一個函數 $r1 = Ren::DuiXiang(); $r1->name = "李四"; var_dump($r); ?>
2、工廠模式
用來生產對象
例:
<?php abstract class YunSuan { public $a; public $b; function Suan() { } } class Jia extends YunSuan { function Suan() { return $this->a+$this->b; } } class Jian extends YunSuan { function Suan() { return $this->a-$this->b; } } class Cheng extends YunSuan { function Suan() { return $this->a*$this->b; } } //做一個工廠類 class GongChang { static function ShengChan($fuhao) { switch($fuhao) { case "+": return new Jia(); break; case "-": return new Jian(); break; case "*": return new Cheng(); break; } } } //算加法 $suan = GongChang::ShengChan("*"); $suan->a = 10; $suan->b = 5; echo $suan->Suan(); ?>
不含病毒。www.avast.com |
全站熱搜
留言列表