设计模式(一)----单例模式

本文通过一个PHP示例详细介绍了单例模式的概念及其实现方式。单例模式确保在整个应用程序中只存在一个实例,并提供全局访问点。文章展示了如何使用私有构造函数、私有克隆方法及公共静态方法来实现这一模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

<?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 '怎么会失败';
}

输出结果:

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

转载于:https://www.cnblogs.com/catcrazy/p/6288184.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值