设计模式
设计模式分:
1.单例模式
目的:为了控制对象的数量,(只能够有一个,相当于类的计划生育)
步骤:1.将类的构造函数做成私有的
2.在类里面做一个公有的函数来造对象
3.将该函数变为静态的
4.在函数连加控制
例:
class Ren
{
public $name; 成员变量用来存储该对象
static public $dx;
private function __construct()
{
}
static function DuiXiang() 变成静态
{
if(empty(self::$dx));
{
self::new Ren();
}
return self::$dx;
}
}
$r=Ren::DuiXiang();
$r->name ="张三";
$r1=Ren::DuiXiang();
var_dump($r1);
2.工厂模式 给一个参数,生产处相应对象
例运算类
abstract class YunSuan
{
public $a;
public $b;
function Suan() 当做一个父类
{
}
}
class Jia extends YunSuan
{
function Suan()
{
return $this->a+$this->b;
}
lass Jian extends YunSuan
{
function Suan()
{
return $this->a-$this->b;
}
}
lass 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();