<?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;
}
# 使用工厂模式,好处是只需要将对应的信息传递到工厂类中,即可生产出一个对应的对象。 缺点是:如果每增加一个类就需要创建一个具体的类和对象来实现工厂。
php 实现 工厂模式
最新推荐文章于 2024-07-30 21:02:40 发布