zoukankan      html  css  js  c++  java
  • 设计模式

    设计模式分:

    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();

  • 相关阅读:
    php判断是不是https的方法
    [Redis] Redis哨兵模式部署
    Transformer详解:各个特征维度分析推导
    Hell World:)
    cesiumjs
    UVA-11090 Going in Cycle!!
    判断两个数组是否相似 (arraysSimilar)
    Markdown 语法说明 (简体中文版)
    DjangoModels
    Lua 学习 chapter30 编写c函数的技巧
  • 原文地址:https://www.cnblogs.com/zqseven/p/6182042.html
Copyright © 2011-2022 走看看