对象工厂PHP,PHP高级对象构建 工厂模式的使用

/*

* 每日练习 PHP设计模式工厂模式的使用方法

* PHP工厂模式不难理解,顾名思义,就是一个加工厂,然后工厂是制造产品的,只要制造产品

* 就必须有几个要素:”方法”,”模型”,”工厂车间”。

*/

/*第一种示例 普通工厂模式

* */

abstract class model {//产品模型

abstract function getNames();

}

class zhangsan extends model {//产品实例

function getNames(){

return “my name is zhengsan”;

}

}

class lisi extends model{//产品实例

function getNames(){

return “my name is lisi”;

}

}

abstract class gongchangModel {//工厂模型

abstract function getZhangsan();

abstract function getLisi();

}

class gongchang extends gongchangModel{//工厂实例

function getZhangsan(){

return new zhangsan();

}

function getLisi(){

return new lisi();

}

}

$gongchang=new gongchang();//实例化工厂

$zhangsan=$gongchang->getZhangsan();//制造产品

echo $zhangsan->getNames();//产品输出功能

?>

实际上,工厂模式包含普通工厂模式和抽象工厂模式,但是,不管是什么工厂模式,它们都是有一个作用,那就是生成对象。

好了,那我们用下面最最简单的例子,再把PHP设计模式中的厂模式再演示一下。

我自己总结了一下,工厂模式的三个要素:

一、产品模型

二、产品实例

三、工厂车间

复制代码 代码如下:

abstract class prModel {//产品模型

abstract function link();

}

class webLink extends prModel{//实例一个产品

public function link(){

echo “www.jb51.net”;

}

}

class gongchang {//工厂

static public function createLink (){

return new webLink();

}

}

$weblink=gongchang::createLink();//通过工厂制造一个对象

$weblink->link();//输出 www.jb51.net

?>

实际上,工厂模式包含普通工厂模式和抽象工厂模式,但是,不管是什么工厂模式,它们都是有一个作用,那就是生成对象。 好了,那我们用下面最最简单的例子,再把PHP设计模式中的厂模式再演示一下。 我自己总结了一下,工厂模式的三个要素: 一、产品模型 二、产品实例 三、工厂车间 复制代码 代码如下:

abstract class prModel {//产品模型 abstract function link(); }

class webLink extends prModel{//实例一个产品

public function link(){ echo “www.jb51.net”; } }

class gongchang {//工厂

static public function createLink ()

{

return new webLink();

}

}

$weblink=gongchang::createLink();//通过工厂制造一个对象

$weblink->link();//输出 www.zhixing123.cn?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值