设计模式

设计模式分:

1.单例模式

目的:为了控制对象的数量,(只能够有一个,相当于类的计划生育)

步骤:1.将类的构造函数做成私有的

         2.在类里面做一个公有的函数来造对象

         3.将该函数变为静态的

         4.在函数连加控制

例:

class Ren

{

        public $name;     成员变量用来存储该对象

        static public $dx;

        private function __construct()

        { 

        }

          static function DuiXiang()         变成静态

       {

                if(empty(self::$dx));

             {

                   self::new Ren();

              }  

             return self::$dx;           

       }

}

$r=Ren::DuiXiang();

$r->name ="张三";

$r1=Ren::DuiXiang();

var_dump($r1);

 

2.工厂模式   给一个参数,生产处相应对象

例运算类

abstract class YunSuan

{

        public $a;

        public $b;

        function Suan()     当做一个父类

        {

        }

class Jia extends YunSuan

{

        function Suan()

       {

          return $this->a+$this->b;

       }

lass Jian extends YunSuan

{

        function Suan()

       {

          return $this->a-$this->b;

       }

}

lass cheng extends YunSuan

{

        function Suan()

       {

          return $this->a*$this->b;

       }

}

例:做一个工厂类

class GongChang

{

         static function ShengChan($fuhao)           做成静态

        {

                   switch($fuhao)

                  {

                         case"+":

                              return new Jia();

                              break;

                         

                          case"-":

                              return new Jian();

                              break; 

                         

                           case"*":

                              return new cheng();

                              break;

                  }

        }

}

算加法

$suan=GongChang::ShengChan("+");

$suan->a =10;

$suan->b =5;

echo $suan->Suan();

posted @ 2016-12-15 14:26  欧元  阅读(282)  评论(0编辑  收藏  举报