工厂设计模式PHP实现代码

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
<?php
    //人类接口
    interface IHuman
    {
      
        function GetName();
      
    }
      
    //男人类,实现人类接口
    class ManClass implements IHuman
    {
        //获取姓名方法
        public function GetName()
        {
            return "I'm man."."<br>";
              
        }
              
    }
      
    //女人类,实现人类接口
    class WomanClass implements IHuman
    {
        //获取姓名方法
        public function GetName()
        {
            return "I'm Woman."."<br>";
              
        }
              
    }
      
    //类工厂,根据需要生产不同实例对象返回
    class ManFactory
    {
        //根据参数获取实例对象
        public function GetIHuman($IHuman="man")
        {
            if($IHuman=="woman")
            {
                return new WomanClass();
            }
            else if($IHuman=="man")
            {
                return new ManClass();
            }
            else
            {
                return null;
            }
      
        }
        //直接获取woman类
        public function GetWoman()
        {
            return new WomanClass();
            //return new ManClass();
        }
        //直接获取man类
        public function  GetMan()
        {
      
            return new ManClass();
        }
    }
  
    $ManFactory=new ManFactory();
      
    $ManClass=$ManFactory->GetIHuman();
      
    echo $ManClass->GetName();
      
    $IHuman=$ManFactory->GetIHuman("woman");
      
    echo $IHuman->GetName();
      
    $Woman=$ManFactory->GetWoman();
      
    echo $Woman->GetName();
      
    $Man=$ManFactory->GetMan();
      
    echo $Man->GetName();
  
?>

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:逐行读取文件的Shell代码

下一篇:iOS文件操作的代码