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

    php中使用接口实现工厂设计模式的代码_php技巧

    2016-05-17 09:10:45原创414
    接口在php只能起到约束类的定义作用,虽不像c#/java那么直观,但基于oop的封装要求,使用接口可以提高程序的可扩展性,如实现代理设计模式。
    复制代码 代码如下:

    //人类接口
    interface IHuman
    {
    function GetName();
    }
    //男人类,实现人类接口
    class ManClass implements IHuman
    {
    //获取姓名方法
    public function GetName()
    {
    return "I'm man."."
    ";
    }
    }
    //女人类,实现人类接口
    class WomanClass implements IHuman
    {
    //获取姓名方法
    public function GetName()
    {
    return "I'm Woman."."
    ";
    }
    }
    //类工厂,根据需要生产不同实例对象返回
    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();
    ?>

    运行结果:
    I'm man.
    I'm Woman.
    I'm Woman.
    I'm man.
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:工厂 设计模式
    上一篇:PHP安全性漫谈_php技巧 下一篇:Php中文件下载功能实现超详细流程分析_php技巧
    Web大前端开发直播班

    相关文章推荐

    • PhpMyAdmin中无法导入sql文件的解决办法_PHP教程• PHP 页面跳转到另一个页面的多种方法方法总结_PHP教程• 利用PHP和AJAX创建RSS聚合器的代码_PHP教程• 挑战最棒的留言本的源码(三)_PHP教程• 打造计数器DIY三步曲(上)_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网