zoukankan      html  css  js  c++  java
  • 设计模式(一)----单例模式

    单例模式其实就是每次实例化时都会得到一个相同的对象.

    单例模式的写法有个简单的口诀:三私一公即一个私有的静态属性,私有的构造方法,私有的克隆方法还有一个公共的静态方法.

    <?php
    class Cat
    {
      //私有的静态属性
      private static $instance;

      //私有的构造方法
      private function __construct(){
        echo "这是一个单例模式";
      }

      //公共的静态方法
      public static function getInstance(){
        if(!self::$instance instanceof self){
          self::$instance = new self;
        }
        return self::$instance;
      }

    // 私有的克隆方法
      private function __clone(){

      }
    }

    $cat = Cat::getInstance();

    $cat1 = Cat::getInstance();

    if($cat === $cat1){
      echo "啊,成功了!";
      }else{
      echo '怎么会失败';
    }

    输出结果:

    这是一个单例模式啊,成功了!

  • 相关阅读:
    hdu 4027 Can you answer these queries?
    Codeforces: Empty Triangle
    hdu 3006 The Number of set
    hdu 3645 Code Management System
    进度条作控件代码
    NORMAL
    callback
    三种形状匹配脚本
    移动点动画
    脚本管理
  • 原文地址:https://www.cnblogs.com/catcrazy/p/6288184.html
Copyright © 2011-2022 走看看