分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

PHP设计模式 ?单例模式与工厂模式

发布时间:2023-09-06 01:18责任编辑:郭大石关键词:PHP
//设计模式
//1、单例
//类的计划生育
//1、让该类在外界无法造对象
//2、让外界可以造一个对象,做一个静态方法返回对象
//3、在类里面通过静态变量控制 只有一个

class Cat{
???public $name;

???private function __construct()
???{
???}

???static $temp;
???static function new_ob(){
???????if(empty(self::$temp)){
???????????self::$temp = new Cat();
???????}
???????return self::$temp;
???}

???function speak(){
???????return"喵喵喵喵喵";
???}
}

$mao = Cat::new_ob();
$mao2 = Cat::new_ob();

$mao->name = "abc";
echo $mao2->name;



//$mao;
//if(empty($mao)){
// ???$mao = new Cat();
//}
//
//$xxx = $mao;



//工厂模式
//class Jsq
//{
// ???public $a;
// ???public $b;
//
// ???public function jiafa(){
// ???????return $this->a + $this->b;
// ???}
//}

abstract class Jsq{
???public $a;
???public $b;
???function yunsuan(){

???}
}

class Jiafa extends Jsq{
???function yunsuan(){
???????return $this->a + $this->b;
???}
}
class Jianfa extends Jsq{
???function yunsuan(){
???????return $this->a - $this->b;
???}
}
//$j1 = new jiafa();
//$j1->a = 1;
//$j1->b = 2;
//$j1->yunsuan();

class Factory{
???static function creat($x){
???????switch ($x){
???????????case "+":
???????????????return new Jiafa();
???????????????break;
???????????case "-": ???????????????return new Jianfa(); ???????????????break; ???????} ???}}$jf = Factory::creat("+");$jf->a = 1;$jf->b = 2;echo $jf->yunsuan();

PHP设计模式 ?单例模式与工厂模式

原文地址:http://www.cnblogs.com/little-rock/p/7682589.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved