设计模式--简单工厂

目标创建对象;

实现 1;实现工厂类 2;调用测试

 

<?php
//调用工厂类
require_once
"./jiandangongcheng.php"; $po = array(); $po[] = pro::GetInstance(12,1); $po[] = pro::GetInstance(1,11); $po[] = pro::GetInstance(1,1); foreach ($po as $key => $value) { if ($value) { echo "<br/>"; $value->x_caozuo(); echo "<br/>"; $value->Y_caozuo(); }else { echo "非法"; } echo "<br/>"; }

 

  

 1 <?php
 2  //实现工厂类
 3 interface product{
 4     function X_caozuo();
 5     function Y_caozuo();
 6 }
 7 
 8 class Xproduct implements product{
 9     
10     function X_caozuo(){
11         echo "我实现了X操作";
12     }
13     function Y_caozuo() {
14         echo "我没有实现Y_操作 ";
15     }
16 
17 }
18 
19 class Yproduct implements product {
20 
21     function x_caozuo() {
22         echo "类Yproduct 没有实现X操作";
23     }
24     function Y_caozuo() {
25         echo "类Yproduct 实现Y操作";
26     }
27 }
28 
29 
30 class pro{
31     static function GetInstance($x,$y){
32         if ($x>1 && $y===1) {
33             return new Xproduct();
34         }elseif ($x == 1 && $y >1) {
35             return new Yproduct();
36         } else {
37             return null;
38         }
39     }
40 }

 

posted @ 2019-11-24 20:34  千载白云  阅读(133)  评论(0编辑  收藏  举报