PHP设计模式(一)工厂模式Factory实例详解【创建(6)


     3)抽象产品角色:它是具体产品继承的父类或者是实现的接口。
     4)具体产品角色:具体工厂角色所创建的对象就是此角色的实例。

其结构:

我们的例子:

代码:

产品类:

<?php
/**
 * 车子系列以及型号
 *
 */
abstract class BWM{
}
class BWM523 extends BWM {
}
class BWM320 extends BWM {
}
/**
 * 空调
 *
 */
abstract class aircondition{
}
class airconditionBWM320 extends aircondition {
}
class airconditionBWM52 extends aircondition {
}

创建工厂类:

/**
 * 创建工厂的接口
 *
 */
interface FactoryBMW { 
   function createBMW(); 
   function createAirC(); 
} 
/**
 * 
 * 创建BWM320车
 */
class FactoryBWM320 implements FactoryBMW {
  function createBMW(){
  return new BWM320();
}
function createAirC(){ //空调
  return new airconditionBWM320();
}
}
/**
 * 
 * 创建BWM523车
 */
class FactoryBWM523 implements FactoryBMW {
  function createBMW(){
  return new BWM523();
}
function createAirC(){
  return new airconditionBWM523();
}
}
 

客户:

/**
 * 
 * 客户得到车
 */
class Customer {
  private $BMW;
  private $airC;
  function getBMW($type){
    $class = new ReflectionClass('FactoryBWM' .$type );//建立 Person这个类的反射类 
    $instance = $class->newInstanceArgs();//相当于实例化Person 类 
    $this->BMW = $instance->createBMW();
    $this->airC = $instance->createAirC();
  }
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1878.html