• 技术文章 >后端开发 >php教程

    php工厂模式的实例说明

    无忌哥哥无忌哥哥2018-06-28 16:11:49原创700
    * 单例模式:用于创建单一类型的唯一实例对象

    * 工厂模式:用于创建多种类型的多个实例对象

    //声明形状类

    class Shape
    {
        //声明静态方法create,根据容器形状不同,创建不同图形类的实例
        public static function create($type,array $size=[])
        {
            //检测形状?
            switch ($type)
            {
                //长方形
                case 'rectangle':
                    return new Rectangle($size[0],$size[1]);
                    break;
                
                //三角形
                case 'triangle':
                    return new Triangle($size[0],$size[1]);
                    break;
                    
            }
        }
    }

    //声明长方形类

    class Rectangle
    {
        private $width;  //宽度
        private $height; //高级
        public function __construct($witch,$height)
        {
            $this->width = $witch;
            $this->height = $height;
        }
        
        //计算长方形面积: 宽 * 高
        public function area()
        {
            return $this->width * $this->height;
        }
    }

    //声明三角形类

    class Triangle
    {
        private $bottom;  //底边
        private $height;  //边长
        public function __construct($bottom,$height)
        {
            $this->bottom = $bottom;
            $this->height = $height;
        }
        
        //计算三角形面积:  (底 * 高) / 2
        public function area()
        {
            return ($this->bottom * $this->height)/2;
        }
    }

    //使用静态方法来实例化形状类,而不是用传统的new 关键字

    //并根据形状类型参数的不同,来实例化不同的类,生成不同的对象

    $rectangle = Shape::create('rectangle',[10,30]);
    echo '长方形的面积是'.$rectangle->area();
    echo '<hr>';
    $triangle = Shape::create('triangle',[20,50]);
    echo '三角形的面积是'.$triangle->area();

    php入门到就业线上直播课:查看学习

    以上就是php工厂模式的实例说明的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php,php工厂模式
    上一篇:php单例模式的实例说明 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 你知道如何用PHP实现多进程吗• PHP与MySQL连接的方法总结• 工具包分享:PHP实现滑块验证图片• 针对初学PHP者的疑难问答_PHP• 求大神解答!ajax处理php返回的xml文档的问题
    1/1

    PHP中文网