php 实现 工厂模式

it2023-02-20  83

<?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)