关于php:php-工厂设计模式

8次阅读

共计 594 个字符,预计需要花费 2 分钟才能阅读完成。

<?php
# 定义一个形象办法
abstract class PubAction
{abstract public function index();
    public function demo(){}
}
#如果继承抽象类,那么抽象类中的形象办法,必须要全副实现
# 定义一个 A 类  继承 抽象类
class A extends PubAction
{public function index()
    {return "我是 A 中的办法";}
}
# 定义一个 B 类 继承 抽象类
class B extends PubAction
{public function index()
    {return "我是 B 中的办法";}
}
# 定义工厂类
class Factory
{
    # 定义 一个公共的静态方法 用来创建对象
 public static function index($str)
    {if($str == "A")
        {return new A;}else if($str == "B")
        {return new B;}else{return "没有此类";}
    }
}
$obj = Factory::index("A");
# 判断是否是一个对象,如果是一个对象则输入一个公共的办法
if(is_object($obj)){echo $obj->index();
}else{echo $obj;}
# 应用工厂模式,益处是只须要将对应的信息传递到工厂类中,即可生产出一个对应的对象。毛病是:如果每减少一个类就须要创立一个具体的类和对象来实现工厂。
正文完
 0