zoukankan      html  css  js  c++  java
  • 设计模式及面向对象的设计原则

    include  加载类的方法  中文意思是包含

    require  也是加载方法

    require_once  加载

    上面所有的都有两个方法

    如:1  XX(“./Ren.class.name”)

             2  XX “./Ren.class.name”

    自动加载类的方法   有限制,必须在同一个目录下  所有类文件的命名规则一样!满足这俩条件

    function__autoload(classname)

    {

             require $classname.”class.php”

    }


    设计模式

             1,单例模式  类的计划生育 只能造出一个来

                                1.让该类在外界无法访问

                                2.外界造一个对象,作业个方法返回对象

    empty方法是判断变量是不是空  用法if(empty($dx))   {}

                                                                                                                                                                                                                                                     

    class Dog

    {

             static $dx

             private function __construct()

    {

            

    }  

             static  function DuiXdiang()          做一个静态的

    {

                      if(empty(self::$dx))           self 一定不能忘了

                       {

                       $dx = new  Dog

    }

            return  self:: $dx

    }

    }

    Dog::DuiXiang();


    工厂模式

            

    abstract class YuanSuan        抽象的

    {

             public $a;

             public $b;

            

             function Suan()

             {

             }

    }

    class Jia extends YuanSuan         继承抽象的 就这个关键字

    {

             function Suan()

             {

                       return $this->a+$this->b;                            this  关键字

             }

    }

    class Jian extends YuanSuan                                        继承抽象的类的关键字

    {

             function Suan()

             {

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

             }

    }

    class Cheng extends YuanSuan

    {

             function Suan()

             {

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

             }

    }

    /*$j = new Cheng();

    $j->Suan();

    */

    class GongChang

    {

             static function ShengChan($f)

             {

                       switch($f)

                       {

                                case "+":

                                         return new Jia();

                                         break;

                                case "-":

                                         return new Jian();

                                         break;

                                case "*":

                                         return new Cheng();

                                         break;

                       }

             }

    }

    $r = GongChang::ShengChan("*");

    $r->a=10;

    $r->b=5;

    echo $r->Suan();

  • 相关阅读:
    docker PXC MYSQL集群节点启动失败/节点顺序消失/只剩一个节点存在问题的解决
    springgateway
    rabbitMQ重复消费(结合死循环重发那一篇看)
    rabbitMq可靠性投递之手动ACK
    3表查询,1:多:多,根据1查多再查多
    tp后台注册登录配置项
    volist/foreach下,点击循环中的一个进行操作
    生成随机订单号
    省市县的下拉列表
    银行下拉列表
  • 原文地址:https://www.cnblogs.com/sq45711478/p/6003147.html
Copyright © 2011-2022 走看看