加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

演示工厂模式

发布时间:2020-05-25 03:03:08 所属栏目:PHP 来源:互联网
导读:?phpheader(content-type:text/html;charset=utf-8);//演示工厂模式/*需求:请设计一个类,该类有一个方法,能够做到这种效果:给该方法传入一个类名,则该方法就可以返回这个类的对象。就像一个塑料制品工厂:给它一个某种产品的模具,就可以生产该模具对应

<div class="cnblogs_code">

<span style="color: #008000;">//<span style="color: #008000;">工厂类
<span style="color: #0000ff;">class<span style="color: #000000;"> Factory{
<span style="color: #0000ff;">static <span style="color: #0000ff;">function GetObjectByClassName(<span style="color: #800080;">$class_name<span style="color: #000000;">){
<span style="color: #800080;">$obj1=<span style="color: #0000ff;">new <span style="color: #800080;">$class_name<span style="color: #000000;">();
<span style="color: #0000ff;">return <span style="color: #800080;">$obj1<span style="color: #000000;">;
}
}

<span style="color: #0000ff;">class<span style="color: #000000;"> A{};
<span style="color: #0000ff;">class<span style="color: #000000;"> B{};
<span style="color: #0000ff;">class<span style="color: #000000;"> C{};
<span style="color: #008000;">//<span style="color: #008000;">$F=new Factory();
//$obj1= $F->GetObjectByClassName("A");
<span style="color: #800080;">$obj1= Factory::GetObjectByClassName("A"<span style="color: #000000;">);
<span style="color: #800080;">$obj2= Factory::GetObjectByClassName("A"<span style="color: #000000;">);
<span style="color: #800080;">$obj3= Factory::GetObjectByClassName("B"<span style="color: #000000;">);
<span style="color: #800080;">$obj4= Factory::GetObjectByClassName("C"<span style="color: #000000;">);
<span style="color: #800080;">$obj5= Factory::GetObjectByClassName("A"<span style="color: #000000;">);
<span style="color: #0000ff;">echo "
";<span style="color: #008080;">var_dump(<span style="color: #800080;">$obj1<span style="color: #000000;">);
<span style="color: #0000ff;">echo "
";<span style="color: #008080;">var_dump(<span style="color: #800080;">$obj2<span style="color: #000000;">);
<span style="color: #0000ff;">echo "
";<span style="color: #008080;">var_dump(<span style="color: #800080;">$obj3<span style="color: #000000;">);
<span style="color: #0000ff;">echo "
";<span style="color: #008080;">var_dump(<span style="color: #800080;">$obj4<span style="color: #000000;">);
<span style="color: #0000ff;">echo "
";<span style="color: #008080;">var_dump(<span style="color: #800080;">$obj5<span style="color: #000000;">);

<span style="color: #008000;">/*<span style="color: #008000;">

object(A)#2 (0) { }
object(A)#3 (0) { }
object(B)#4 (0) { }
object(C)#5 (0) { }
object(A)#6 (0) { }

<span style="color: #008000;">*/

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读