教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php工厂模式简单使用说明

php工厂模式简单使用说明

发布时间:2016-10-26   编辑:jiaochengji.com
教程集为您提供php工厂模式简单使用说明等资源,欢迎您收藏本站,我们将为您提供最新的php工厂模式简单使用说明资源
本文章来给大家介绍php入门教程之工厂模式哦,工厂模式概念:实例化对象,用工厂方法替代new操作,有需要了解学习的朋友可参考。


工厂模式代码:

 

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy4507')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy4507>

<?php
//首先定义什么是人类
 interface Human {
    //人是愉快的,会笑的
    public function laugh();
    //人类还会哭,代表痛苦
    public function cry();
    //人类会说话
    public function talk();
}

//然后定义具体的人种
class YellowHuman implements Human {//黄色人种,这个翻译的不准确,将就点吧
    function cry() { var_dump( "黄色人种会哭");}
    function laugh() {var_dump( "黄色人种会大笑,幸福呀!");}
    function talk() {var_dump( "黄色人种会说话,一般说的都是双字节"); }
}
class WhiteHuman implements Human { //白色人种
    public function cry() {var_dump("白色人种会哭");}
    public function laugh() {var_dump("白色人种会大笑,侵略的笑声"); }
    public function talk() {var_dump("白色人种会说话,一般都是但是单字节!"); }
}
class BlackHuman implements Human { //黑色人种
    public function cry() {var_dump("黑色人种会哭");}
    public function laugh() {var_dump("黑色人种会大笑,侵略的笑声"); }
    public function talk() {var_dump("黑色人种会说话,一般都是但是单字节!"); }
}

//人种也定义完毕了,那我们把八卦炉定义出来:
class HumanFactory {
    //定一个烤箱,泥巴塞进去,人就出来,这个太先进了
    public static function createHuman( $c ){
        if ($c instanceof Human ) {//判断是否继承自Human
            return $c;
        }else {
            var_dump("必须跟HuMan有一腿");
        }
    }
}


var_dump("------------造出的第一批人是这样的:白人-----------------");
$whiteHuman = HumanFactory::createHuman( new WhiteHuman());
$whiteHuman->cry();
$whiteHuman->laugh();
$whiteHuman->talk();
    
 //女娲第二次造人,火候加足点,然后又出了个次品,黑人
var_dump("nn------------造出的第二批人是这样的:黑人-----------------");
$blackHuman = HumanFactory::createHuman(new BlackHuman());
$blackHuman->cry();
$blackHuman->laugh();
$blackHuman->talk();
    
//第三批人了,这次火候掌握的正好,黄色人种(不写黄人,免得引起歧义),备注:RB人不属于此列
var_dump("nn------------造出的第三批人是这样的:黄色人种-----------------");
$yellowHuman = HumanFactory::createHuman(new YellowHuman());
$yellowHuman->cry();
$yellowHuman->laugh();
$yellowHuman->talk();

您可能感兴趣的文章:
php常用设计模式之工厂模式与单例模式介绍
深入php设计模式实例详解
java工厂模式的学习笔记
什么是工厂模式?
java中简单工厂模式、工厂方法模式、抽象工厂模式介绍
JavaScript设计模式一:工厂模式和构造器模式
建造者模式是什么?
php设计模式之单例模式、工厂模式与观察者模式
详解 PHP 中的三大经典模式
工厂模式是什么?

[关闭]
~ ~