美文网首页
工厂模式

工厂模式

作者: kxmile | 来源:发表于2018-12-25 21:37 被阅读0次

    工厂方法:构建创建者类的继承等级

    <?php
    
    //表格接口
    interface chart
    {
        public function display();
    }
    
    // 折线类
    class LineChart implements chart
    {
    
        public function display()
        {
            echo "折线图";
        }
    }
    
    //饼状类
    class PieChart implements chart
    {
        public function display()
        {
            echo "饼状图";
        }
    
    }
    
    //工厂
    class cf
    {
        public static function getchart($type)
        {
    
    
            switch ($type) {
                case 'pie': {
                    return new PieChart();
                }
    
                case'Line': {
                    return new LineChart();
                }
                default: {
                    return null;
                }
            }
    
        }
    
    }
    
    //使用
    $chart = cf::getchart('pie');
    $chart->display();
    

    结果可得:
    饼状图

    解决了 当代码关注于抽象类型时如何创建对象实例的问题

    相关文章

      网友评论

          本文标题:工厂模式

          本文链接:https://www.haomeiwen.com/subject/jsvqlqtx.html